簡體   English   中英

為什么 apache 不啟動新安裝的 PHP7?

[英]Why apache does not start with newly installed PHP7?

macOS Sierra 附帶 PHP 5.6,我想通過從源代碼構建將其升級到 PHP 的最新穩定版本 (7.1.4)。 我所做的實際上是全新安裝。 首先,我從系統中刪除了舊的 PHP,然后從 php.net 下載源代碼並構建它。 除了 Apache,一切正常。

順便說一句,在我構建 PHP 之前,我必須安裝aprapr-util packages PHP 7 不只是在/usr/lib下接受操作系統默認附帶的相同包。

當我執行 configtest 時,我收到此錯誤:

httpd:/private/etc/apache2/httpd.conf 第 175 行的語法錯誤:
無法將 libexec/apache2/libphp7.so 加載到服務器中:
dlopen(/usr/libexec/apache2/libphp7.so, 10):
庫未加載:/usr/local/apr/lib/libaprutil-1.0.dylib
引用自:/usr/libexec/apache2/libphp7.so
原因:庫版本不兼容:
libphp7.so 需要 6.0.0 或更高版本,但 libaprutil-1.0.dylib 提供 4.0.0 版本

出於某種原因,libaprutil-1.0.dylib 未加載到我的環境中/usr/local/apr/lib/ ,這就是我無法啟動 Apache 的原因。

我在這里看到了類似的問題並嘗試執行公認的解決方案。 但是,我仍然無法啟動它。

為什么它無法加載libaprutil任何想法?

我在 macOS HighSierra 上遇到了同樣的問題:

httpd:/private/etc/apache2/httpd.conf 第 174 行的語法錯誤:無法將 /usr/local/opt/php/lib/httpd/modules/libphp7.so 加載到服務器中:dlopen(/usr/local/opt /php/lib/httpd/modules/libphp7.so, 10): 庫未加載:/usr/local/opt/apr-util/libexec/lib/libaprutil-1.0.dylib\\n 引用自:/usr/local/ opt/php/lib/httpd/modules/libphp7.so\\n 原因:不兼容的庫版本:libphp7.so 需要 7.0.0 或更高版本,但 libaprutil-1.0.dylib 提供 4.0.0 版本

原因是系統Apache和brew的php不兼容。 我相信這不應該發生,但我沒有更深入。 我已經禁用了默認的 apache 並使用以下說明從brew存儲庫安裝了一個: https : //tecadmin.net/install-apache-macos-homebrew/

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
brew install httpd
sudo brew services start httpd

此操作需要將我的舊配置/private/etc/apache2/httpd.conf與新配置合並: /usr/local/etc/httpd/httpd.conf為了啟用php,我放入了 /usr/local/etc/httpd /httpd.conf 這些行:

 LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
 <IfModule php7_module>
     AddType application/x-httpd-php .php
     AddType application/x-httpd-php-source .phps

     <IfModule dir_module>
         DirectoryIndex index.html index.php
     </IfModule> 
 </IfModule>

它解決了這個問題。

確保 php 工作正常。 將其復制/粘貼到命令行:

    $php -r 'echo "i am fine" . "\r\n";'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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