내 Linux 배포판은 Arch Linux입니다. mail()
PHP 함수를 사용하여 이메일을 보내 려고 할 때 처음으로 이 오류를 발견했습니다 . mail()
명령줄에서 호출하면 이메일을 보내지만 사용할 때는 보내지 않는 간단한 mail-test.php 파일로 테스트했습니다.http://localhost/mail-test.php. 두 번 모두 동일한 오류가 발생했지만 명령줄을 사용하여 이메일을 보냈습니다.
오류가 발생합니다.
PHP 시작: 동적 라이브러리 '/usr/lib/php/modules/libphp5.so'를 로드할 수 없습니다. - /usr/lib/php/modules/libphp5.so: 공유 객체 파일을 열 수 없습니다. 알 수 없는 위치에 해당 파일이나 디렉터리가 없습니다. # 0
사용하면 ls /usr/lib/php/modules
파일이 존재하지 않으며 검색 시스템 결과가 /usr/lib/httpd/modules/libphp5.so
존재함을 나타냅니다.
php-apache가 설치되었고 apache가 PHP 사이트를 제대로 제공하고 있습니다. (포함된 테스트 PHP 파일을 사용하여 테스트 <?php phpinfo(); ?>
)
하지만 이 오류의 원인을 찾을 수 없는 것 같습니다. 도움을 주시면 감사하겠습니다. 감사합니다!
답변1
Arch Linux 웹 서버가 있습니다. 내 구성 파일이 오래된 것 같습니다.
그러나 살펴보면ArchWiki Apache HTTP 서버 페이지, "PHP"라는 섹션은 작동하려면 /etc/httpd/conf/httpd.conf
두 가지 모두를 일부 변경해야 함을 의미합니다 . /etc/php/php.ini
내가 당신의 입장이라면 아마도 이렇게 할 것이고 pacman -R php-apache
, 어쩌면 이렇게 한 pacman -R apache
다음 두 패키지를 모두 다시 설치할 수도 있습니다. 생성한 파일의 복사본을 저장하고 pacman
문제가 있는 콘텐츠를 정리하세요.
재설치 후 ArchWiki 페이지의 안내에 따라 /etc/httpd/conf/httpd.conf
수정하겠습니다. /etc/php/php.ini
그런 다음 systemctl start httpd
문제가 사라졌는지 확인하십시오. 일치하지 않는 구성 파일이 있거나 사용자의 LD_LIBRARY_PATH 에 문제가 있는 것 같습니다 http
. 제거하고 다시 설치하면 이러한 불일치가 다시 동기화될 수 있습니다.