簡體   English   中英

自制 PHP 7.1 (macOS Sierra) Apache 語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM