我的 Linux 发行版是 Arch Linux。我第一次注意到这个错误是在尝试使用 PHPmail()
函数发送电子邮件时。使用简单的 mail-test.php 文件进行测试,该文件的mail()
功能在从命令行调用时发送电子邮件,但在使用时不会发送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 Web 服务器。看起来我的配置文件已经过时了。
然而,纵观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
。卸载并重新安装有望使这些不一致恢复同步。