简体   繁体   English

无法让 Apache 加载 PHP 的 HomeBrew 版本

[英]Can't get Apache to load the HomeBrew version of PHP

The published wisdom for getting this to work is to edit the LoadModule call in httpdf.conf.使其工作的已发布智慧是在 httpdf.conf 中编辑 LoadModule 调用。 So I've tried pointing httpd.conf at the Brew loaded PHP.因此,我尝试将 httpd.conf 指向 Brew 加载的 PHP。 I've changed the LoadModule line from:我已将 LoadModule 行从:

LoadModule php7_module libexec/apache2/libphp7.so LoadModule php7_module libexec/apache2/libphp7.so

to:至:

LoadModule php7_module /usr⁩/local/⁨Cellar/⁨php@7.3⁩/7.3.26_1⁩/lib⁩/⁨httpd⁩/modules/libphp7.so LoadModule php7_module /usr/local/Cellar/php@7.3/7.3.26_1/lib/httpd/modules/libphp7.so

I then tried apachectl restart, but when I do this, Apache doesn't complain, it just fails to start, Am I pointing it at the wrong thing?然后我尝试了 apachectl restart,但是当我这样做时,Apache 没有抱怨,只是无法启动,我是不是指错了地方? or is this totally the wrong approach.或者这完全是错误的方法。 I am running Apache/2.4.34 (Unix) under Mojave.我在 Mojave 下运行 Apache/2.4.34 (Unix)。 The brew caveats say add this too httpd.conf酿造警告说也添加这个httpd.conf

 LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

When I do this, Apache fails to start.当我这样做时,Apache 无法启动。 If I leave httpd.conf alone it loads PHP Version 7.1.33, which is not what I'm trying to achieve!如果我单独留下 httpd.conf,它会加载 PHP 版本 7.1.33,这不是我想要实现的!

I'm at a total loss:(我完全失去了:(

It appears that I had the PATH wrong.看来我的 PATH 错误。 The path I had set was:我设置的路径是:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

which meant that when I loaded apache it didn't use what brew had installed.这意味着当我加载 apache 时,它没有使用 brew 安装的内容。 I stopped apache, then changed the path to:我停止了apache,然后将路径改为:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

then after apachctl restart it loaded everything from the correct place and phpinfo() now shows the correct version of php.然后在apachctl 重新启动后,它从正确的位置加载所有内容,并且 phpinfo() 现在显示 php 的正确版本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM