自制PHP 7.1(macOS Sierra)Apache语法错误

问题描述 投票:1回答:2

所以我一直在关注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服务器。仍然收到相同的错误消息。知道出了什么问题吗?我感谢任何回应!非常感谢!

php apache homebrew php-7.1
2个回答
5
投票

我有同样的问题。

对我来说,自制软件在/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,一切都很顺利。


0
投票

我正在使用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

插入它,它的工作原理。但是 - 我不清楚为什么第一个失败了。

© www.soinside.com 2019 - 2024. All rights reserved.