所以我一直在关注This Tutorial,它有助于为多个版本的PHP配置Apache 2.4。一切都很顺利,我的所有PHP版本都工作,除了7.1。当试图启动Apache服务器以接收7.1的phpinfo时,我收到以下错误消息:
httpd: Syntax error on line 178 of
/usr/local/etc/apache2/2.4/httpd.conf:
Cannot load /usr/local/opt/php71/libexec/apache2/libphp7.so into server:
dlopen(/usr/local/opt/php71/libexec/apache2/libphp7.so, 10): image not found
这是第178行上存在的代码:
LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so
我试过跑步
brew reinstall php71 --with-httpd24
并重新启动Apache服务器。仍然收到相同的错误消息。知道出了什么问题吗?我感谢任何回应!非常感谢!
我有同样的问题。
对我来说,自制软件在/usr/local/opt
中有一个不同的文件夹结构,其中文件夹更像/usr/local/opt/[email protected]
所以我需要找到libphp7.so
居住的地方,或者它是否存在。
运行find /usr -name "libphp7.so"
回来了:
/usr/libexec/apache2/libphp7.so
和/usr/local/Cellar/[email protected]/7.1.15/lib/httpd/modules/libphp7.so
两者都代替/usr/local/opt/php71/libexec/apache2/libphp7.so
为我工作,如果将来需要我会更新。
所以我更新了httpd.conf
使用
LoadModule php7_module /usr/local/Cellar/[email protected]/7.1.15/lib/httpd/modules/libphp7.so
然后我用sudo apachectl -k restart
重新启动了apache,一切都很顺利。
我正在使用brew install php收到此错误。然后apachectl -t来测试语法
httpd: Syntax error on line 180 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php/7.3.2/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/Cellar/php/7.3.2/lib/httpd/modules/libphp7.so, 10): Symbol not found: _sqlite3_enable_load_extension\n Referenced from: /usr/local/Cellar/php/7.3.2/lib/httpd/modules/libphp7.so\n Expected in: /usr/lib/libsqlite3.dylib\n in /usr/local/Cellar/php/7.3.2/lib/httpd/modules/libphp7.so
由于某些原因???我在这里找到了libphp7.so
LoadModule php7_module /usr/libexec/apache2/libphp7.so
插入它,它的工作原理。但是 - 我不清楚为什么第一个失败了。