![](/img/trans.png)
[英]PHP stopped working on Apache after upgrade to OS x 10.10.1 Yosemite - Owncloud broken
[英]Broken Apache Virtual Hosts after Yosemite upgrade
我最近升级到MAC OS X Yosemite,我的虚拟主机的apache配置无效。 我根据@raoulsson( https://superuser.com/questions/827937/apache-problems-after-upgrading-to-yosemite )的建议升级了php:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
还编辑了/etc/apache2/extra/httpd-vhosts.conf:
<VirtualHost *:80>
ServerName test.local
DocumentRoot "/Users/my-name/www/test"
<Directory "/Users/my-name/www/test>
AllowOverride All
#Order allow,deny
#Allow from all
Require all granted
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html to allow html5 state links
RewriteRule ^ index.html [L]
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<Files ".ht*">
Order deny,allow
Deny from all
</Files>
</VirtualHost>
现在导航到我的一个虚拟主机( http://test.local )给我一条消息“It Works”而不是显示我的网站。 任何人都知道我错过了什么?
编辑:事实证明问题出在/etc/apache2/httpd.conf中。 我必须重新启用虚拟主机才能使其正常工作。 由于我在上面的虚拟主机中使用重写,我还必须加载重写引擎。
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
不确定是否需要alias_module,但我的配置现在正在运行,所以我将保留它。
首先,您需要删除某些行中的“#”。 特别是默认情况下不导入vhost.conf文件。
喜欢 :
#LoadModule php5_module libexec/apache2/libphp5.so
#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
#Include /private/etc/apache2/extra/httpd-vhosts.conf
至
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
并在其他人中添加一些“#”
<Directory />
AllowOverride none
Require all denied
</Directory>
至
<Directory />
#AllowOverride none
#Require all denied
</Directory>
OS X 10.10 Yosemite在小牛队中使用Apache 2.4而不是Apache 2.2。
配置的主要区别在于你必须更换......
Order allow,deny
Allow from all
...与...
Require all granted
有关详细信息,请参阅Apache doc的手册从2.2升级到2.4 。
更新:
请注意,升级OS X后,您通常会发现旧的配置文件作为Yosemite编写的新配置文件旁边的备份。 它们被标记为例如httpd.conf.pre-update和/或httpd.conf~previous,并且可以在与新配置相同的路径中找到(例如在/ private / etc / apache2中 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.