当前位置: 首页 > 知识库问答 >
问题:

为什么Apache不从新安装的PHP7开始?

司马俊晖
2023-03-14

macOS Sierra附带PHP5.6,我希望通过从源代码构建将其升级到最新的稳定版本PHP(7.1.4)。我所做的实际上是一个新的安装。首先,我从系统中删除了旧的PHP,然后从PHP下载源代码。net并构建它。除了Apache之外,一切都很好。

顺便说一下,在我构建PHP之前,我必须安装aprapr-util包。PHP 7不只是接受操作系统默认自带的/usr/lib下的相同包。

执行configtest时,我收到以下错误:

http: /private/etc/apache2/httpd.conf第175行语法错误:
无法将libexec/apache2/libphp7.so加载到服务器:
dlopens(/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吗?

共有2个答案

鞠源
2023-03-14

确保php正常工作。将其写入命令行:

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

在我的例子中,在这个命令之后,php告诉我他已经失去了重要的依赖。

庄萧迟
2023-03-14

我在macOS HighSierra上也有同样的问题:

httpd:/private/etc/apache2/httpd的第174行出现语法错误。conf:无法加载/usr/local/opt/php/lib/httpd/modules/libphp7。所以进入服务器: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。所以\n原因:不兼容的库版本:libphp7。因此需要7.0版。0或更高版本,但libaprutil-1.0。dylib提供了4.0版。0

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/http/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>

它解决了这个问题。

 类似资料:
  • 问题内容: 他们在博客文章中宣布yarn(npm的替代客户端),他们说:“最简单的入门方法是运行”。但是,如果您转到其文档中的“ install yarn”页面 ,则“ npm install yarn”未在任何特定于平台的安装页面上列出,并且仅作为“ Alternatives”页面上三个选项中的第三个选项提供。 。此外,当您进行纱线编织时,它会显示弃用警告:“建议针对您的环境使用本地安装方法来安

  • 我已经在我的计算机上安装了Launch4j和JDK,我正在尝试将jar文件转换为exe。启动Launch4j时,出现以下错误: 此应用程序需要Java运行时环境1.6.0 我怎样才能解决这个问题?查找已安装JRE/JDK的Launch4j搜索策略是什么? JDK版本: 输出: java版本“14”2020-03-17 java(TM)SE运行时环境(build 14 36-1461)java热点(

  • 我看不出我做错了什么。如有任何帮助,不胜感激。

  • 我明白将安装package.json.中定义的节点模块版本,我不明白为什么它试图安装较旧的版本4.9.1,而不是安装4.11.0或更高版本。正因为如此,我得到了下面的错误。有人能帮我解决这个问题吗? 无法下载“https://github.com/sass/node-sass/releases/download/v4.9.1/win32-ia32-67_绑定节点“: 找不到HTTP错误404 环境

  • 主要内容:1. Nginx安装配置,2. PHP7安装配置,2.1 源码下载,2.4. 修改配置,3. Nginx代理集成PHP7配置在前面几篇文章中,我们已经介绍并演示安装 Nginx 的几种方式,在开始本篇文章的阅读和实践之前,建议先阅读“Nginx安装配置”:http://www.yiibai.com/nginx/nginx-install.html ,在上面文章的基础之上,我们再添加 PHP7 的安装配置。 1. Nginx安装配置 如果需要一些特殊的功能,在包和端口不可用的情况下,也可

  • 我正在运行laravel 5.4在Ubuntu 16.04服务器与PHP7。 我在本地版本的应用程序上安装此软件包没有问题。