Mac升级到Yosemite后本地apache环境的修复

终于还是没有忍住,在今年除夕下午的时候把MBP升级到Yosemite,来来回回花了一个半小时左右后终于好了,新系统确实很漂亮,或许是自己一直都在用以前的系统,突然这么一变化原来新鲜感在作祟啊。。。那么问题来了,一直也看到网上说升级之后出现了很多问题,果不其然,本地的apache环境直接挂了,好吧下面就一步步来修复吧!

1、首先查看你的apache配置那里出问题

#这个命令也是我网上看到的,庆幸自己看到的还不算太晚,否则又得走更多的弯路去排查问题了
#命令的结果显示配置的所有错误
apachectl configtext

2、接着上面的错误一个一个来解决

  • AH00548: NameVirtualHost has no effect and will be removed in the next release /private/etc/apache2/extra/httpd-vhosts.conf:19 【Apache2.4.x版本NameVirtualHost已经无效(指的是),把上面的"NameVirtualHost *:80"删除/注视掉】
  • Either all Options must start with + or -, or no Option may.【解决办法Options -Indexes FollowSymLinks -> Options -Indexes +FollowSymLinks】
  • 伪静态不生效了【Options -Indexes +FollowSymLinks后面添加 AllowOverride ALL Require all granted】
  • php连接不上mysql数据库,mysql_error提示:no such directory!【如果你已经有了/tmp/mysql.sock但是没有/var/mysql/mysql.sock你应该:cd /var && mkdir mysql && cd mysql && sudo ln -s /tmp/mysql.sock mysql.sock;如果你有了/var/mysql/mysql.sock但是没有mysql.sock你应该:cd /tmp && sudo ln -s /var/mysql/mysql.sock mysql.sock
  • imagettftext这个函数提示未定义,其实是未安装freetype【待续。。。】

在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:

You don't have permission to access /index.php on this server 虚拟主机文件httpd-vhost.conf默认开启了两个作为例子的虚拟主机:最简单的办法就是在每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
友荐云推荐