![](/img/trans.png)
[英]PHP 7.1 on macOS Sierra 10.12.3 - installed by Homebrew
[英]Homebrew PHP 7.1 (macOS Sierra) Apache Syntax Error
因此,我一直在關注本教程,它有助於使用多個版本的 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/php@7.1
所以我需要找到libphp7.so
所在的位置,或者它是否存在。
運行find /usr -name "libphp7.so"
回來了:
/usr/libexec/apache2/libphp7.so
和/usr/local/Cellar/php@7.1/7.1.15/lib/httpd/modules/libphp7.so
兩者都可以代替/usr/local/opt/php71/libexec/apache2/libphp7.so
對我來說,如果將來需要,我會更新。
所以我更新了httpd.conf
以使用
LoadModule php7_module /usr/local/Cellar/php@7.1/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
插上電源就可以了。 但是 - 我不清楚為什么第一個失敗。
Homebrew 指示將其添加到我的 httpd.conf 文件中:
LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
我嘗試停止並重新啟動只是為了得到同樣的錯誤。 在用不同的選項更新了幾次之后,這個終於對我有用了。
LoadModule php7_module /usr/libexec/apache2/libphp7.so
我有一個 PHP 更新,文件路徑已更改。 我更改了httpd.conf
中的模塊路徑。
前:
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
后:
LoadModule php7_module /usr/local/Cellar/php/7.4.12/lib/httpd/modules/libphp7.so
我遇到了同樣的問題,但使用的是 php 7.2。
運行brew linkage php
表明存在一些損壞的依賴項。
所以運行brew update && brew upgrade
為我解決了這個問題。
在 usr/local/opt 中只有一個文件夾(別名)php
`Just duplicate the php Alias-Folder and rename it to php@7.4`
在那之后 sudo apache graceful 我就完成了
我已經在 httpd.conf 上更改了 php7.4 的路徑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.