作者:骚动的疯子 | 来源:互联网 | 2023-02-05 10:08
我是Web开发的新手,想在mac os Sierra上创建自己的本地服务器,以便进行一些开发.我已经按照(少数)关于启动和运行apache,php和mysql的教程,并且只进入了php部分,这是我目前失败的地方.
我设法通过http:// localhost/~username访问localhost,并在那里找到了我的目录,但是一旦我取消注释httpd.conf中的php LoadModule,我访问localhost的能力就失败了,我被抛出错误ERR_CONNECTION_REFUSED
.这是在我尝试使用重启apache之后
sudo apachectl -k restart
哪个扔了这个错误:
httpd没有运行,试图启动/ usr/sbin/apachectl:第92行:11399分段错误:11 $ HTTPD"$ @"
错误日志来自tail -f /var/log/apache2/error_log
,有以下说法:
AH00112:警告:DocumentRoot [/usr/docs/dummy-host.example.com]不存在AH00112:警告:DocumentRoot [/usr/docs/dummy-host2.example.com]不存在[Mon May 01 19: 33:52.138346 2017] [mpm_prefork:notice] [pid 3454] AH00163:Apache/2.4.23(Unix)PHP/7.1.1配置 - 恢复正常操作[Mon May 01 19:33:52.138434 2017] [核心:通知] [pid 3454] AH00094:命令行:'/ usr/sbin/httpd -D FOREGROUND'[Mon May 01 19:37:22.694456 2017] [mpm_prefork:notice] [pid 3454] AH00169:捕获SIGTERM,关闭AH00112:警告:DocumentRoot [/usr/docs/dummy-host.example.com]不存在AH00112:警告:DocumentRoot [/usr/docs/dummy-host2.example.com]不存在[Mon May 01 19:53: 54.632167 2017] [mpm_prefork:notice] [pid 4059] AH00163:Apache/2.4.23(Unix)PHP/7.1.1配置 - 恢复正常操作[Mon May 01 19:53:54.632251 2017] [core:notice] [ pid 4059] AH00094:命令行:'/ usr/sbin/httpd -D FOREGROUND'[Mon May 01 20:04:26.379765 2017] [mpm_prefork:通知] [pid 4059] AH00169:抓住了SIGTERM,关闭了
我花了几个小时在stackoverflow以及其他来源上查看类似的主题,但无济于事.我对所有这些都是相当新的,因此我并没有过多地使用很多术语.从我的理解(无论它可能是什么),它可能与坏模块或php7没有正确连接?
我使用的是apache版本:
Server version: Apache/2.4.23 (Unix)
Server built: Aug 8 2016 16:31:34
php version 7.1.1
和configtest给了我以下内容:
AH00112:警告:DocumentRoot [/usr/docs/dummy-host.example.com]不存在AH00112:警告:DocumentRoot [/usr/docs/dummy-host2.example.com]不存在语法OK
任何建议将不胜感激.对下一步做什么完全气喘吁吁:(
1> 小智..:
启动Apache时出现"Segmentation fault"错误,因为Apache尝试同时加载旧版本和新版本的php.查看这些说明:https://coolestguidesontheplanet.com/upgrade-php-on-osx/,安装脚本创建一个加载新的php 7版本的文件
/etc/apache2/other/+php-osx.conf
该脚本也应该禁用在apache配置文件中加载旧的php版本,
/etc/apache2/httpd.conf
评论这一行:
#LoadModule php5_module libexec/apache2/libphp5.so
但它并没有为我做那件事.一旦我手动评论它,Apache就会再次使用
sudo apachectl -k restart
在通过Homebrew安装了Apache的OSX上,实际配置位于`/ usr / local / etc / httpd`中,而不是`/ etc / apache2`中,因此我不得不在此处进行更改。否则效果很好,谢谢