apache restart错误分段错误:11 $ HTTPD“$ @”

时间:2017-05-01 21:39:31

标签: php mysql macos apache apache2

我是网络开发的新手,想在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:notice] [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

非常感谢任何建议。完全消失了下一步该做什么:(

2 个答案:

答案 0 :(得分:21)

启动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

答案 1 :(得分:0)

如果要在localhost上创建虚拟主机,则应更改httpd-vhosts.conf,hosts文件和httpd.conf以启用虚拟主机....

但是

如果只想安装XAMPP或WAMP,则无需更改文件,在htdocs文件夹(XAMPP)或www文件夹(WAMP)中创建新文件夹,并输入地址栏,如下所示: localhost / newfolder

重新安装XAMPP并在 htdocs 文件夹中创建新的文件夹项目。

  • 目录htdocs文件夹:/ Applications / XAMPP / xamppfiles / htdocs /(创建项目文件夹)

  • 启用Apache和Mysql

  • 并输入地址栏firefox或chrome:localhost / projectfoldername

请阅读这篇文章: https://donatstudios.com/PHP-in-OS-X-Yosemite

下载Xampp:https://www.apachefriends.org/download.html