Edo*_*ras 9 php apache macos apache2 macos-mojave
好吧,在从High Sierra到Mojave更新macOS后,Apache与PHP停止正常工作,所以我按照本指南中的说法做了所有事情 - https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions
但在那之后,仍然apache不能正常工作,有时工作,有时不工作,并且它在浏览器中说ERR_CONNECTION_REFUSED或其他错误,如404或500.
在apache日志中是:
[Tue Oct 02 15:02:23.209423 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received. Attempting to restart
[Tue Oct 02 15:02:23.255957 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:02:23.256008 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
[Tue Oct 02 15:14:37.626645 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received. Attempting to restart
[Tue Oct 02 15:14:37.674603 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:14:37.674672 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
[Tue Oct 02 15:28:40.715060 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received. Attempting to restart
[Tue Oct 02 15:28:40.752117 2018] [ssl:warn] [pid 14579] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name
[Tue Oct 02 15:28:40.766009 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) OpenSSL/1.0.2p PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:28:40.766052 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
Run Code Online (Sandbox Code Playgroud)
ada*_*ang 14
我遇到过与PHP 5.6类似的问题,因为它在Mojave升级之前运行正常.我做了以下成功解决问题:
运行sudo nano /etc/apache2/httpd.conf下面的命令
确保取消注释以下模块:
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
我在httpd.conf中添加了缺少的一个
检查正确的php模块(PHP 5.6 ot 7.x)并通过添加行或注释/取消注释行来加载所需的模块
LoadModule php5_module libexec/apache2/libphp5.so
要么
LoadModule php7_module libexec/apache2/libphp7.so
Run Code Online (Sandbox Code Playgroud)
通过在行首添加"#"来注释不需要的那个
检查那里的任何错误
对于PHP 5.6:如果你在upgarde之前已经在系统中使用了brew 5的php 5,并且上面的更改给出了错误,如下所示:httpd:/private/etc/apache2/httpd.conf的第180行的语法错误:无法加载libexec /apache2/libphp5.so进入服务器:dlopen(/usr/libexec/apache2/libphp5.so,10):找不到图像"
然后在系统中搜索libphp5.so,如果找到则将其复制到"/ usr/libexec/apache2 /"
在我的情况下命令是
sudo cp ./local/Cellar/php@5.6/5.6.25_1/libexec/apache2/libphp5.so /usr/libexec/apache2/
Run Code Online (Sandbox Code Playgroud)
这一切都使我的系统工作
小智 8
继adang的回复之后,我还必须取消注释这一行:
Include /private/etc/apache2/extra/httpd-userdir.conf
Run Code Online (Sandbox Code Playgroud)
以便它知道哪些用户目录可用.
在/private/etc/apache2/extra/httpd-userdir.conf中
我必须取消注释这一行:
Include /private/etc/apache2/users/*.conf
Run Code Online (Sandbox Code Playgroud)
然后:
sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
安装 Mac OS Mojave 后我遇到了同样的问题。我已经完成了以下步骤并且它对我有用:
brew update
Run Code Online (Sandbox Code Playgroud)
然后:
brew upgrade
Run Code Online (Sandbox Code Playgroud)
我通过取消注释以下行来编辑 /etc/apache2/httpd.conf:
LoadModule php7_module libexec/apache2/libphp7.so
Run Code Online (Sandbox Code Playgroud)
打开终端并重启apache服务器:
sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14779 次 |
| 最近记录: |