繁体   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