Tom*_*ley 8 apache-http-server httpd
升级到 Yosemite 后,我的 Mac 网络服务器将无法工作。当我输入apachectl
终端时,我得到这个:
httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/php5/libphp5.so\n Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so
Run Code Online (Sandbox Code Playgroud)
如果我输入sudo apachectl [re]start
什么都没有发生,就好像它已经启动,然后我再次输入它,它说它已经在运行。此外,我安装了 Web 共享首选项窗格(http://clickontyler.com/web-sharing/),当我将开关从关闭轻弹到开启时,它仍然说它已关闭,即使开关处于开启位置.
你们想要/需要查看哪些文件?真的需要尽快解决这个问题。
小智 8
出现此问题是因为 Yosemite 安装了最新版本的 Apache (2.4) 而较早版本的 Mac OS X 使用的是 Apache 2.2
从错误中可以看出,您使用的不是 Apple 提供的标准版本的 PHP,而是 liip.ch 提供的不同版本。按照上面 Nuttyx 的建议删除 # 符号将加载 Apple 版本的 php (5.5.14)。如果您希望继续运行 liip 提供的版本,您需要重新安装它,以便它在 Apache 2.4 中正确加载。在此处查看详细说明:(http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html)
注意如果您使用的是虚拟主机,您可能需要稍微更改您的配置文件。特别是您需要更改以下内容:
2.2 配置:
Order allow,deny
Allow from all
Run Code Online (Sandbox Code Playgroud)
2.4 配置:
Require all granted
Run Code Online (Sandbox Code Playgroud)
另请注意,Yosemite 安装程序会使用新的默认 Apache 2.4 配置文件覆盖整个 /private/etc/apache2/httpd.conf 文件。
例如,如果Listen
添加了任何指令,它们将消失并需要再次添加。例如:
Listen 127.0.0.1:81
Run Code Online (Sandbox Code Playgroud)
我在以下文件中找到了我的旧配置,但由于与 2.2 的差异,它可能不应该直接复制到 http.conf 文件中:
/private/etc/apache2/httpd.conf~previous
有一个升级指南:http : //httpd.apache.org/docs/2.4/upgrading.html
确保任何先前包含的额外配置文件仍然包含在内,然后使用以下命令测试配置:
sudo apachectl configtest
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17973 次 |
最近记录: |