Mac下配置Apache+PHP+MySQL小记

时间:15-07-14 栏目:PHP开发, 数据库 作者:kyle 评论:0 点击: 3,092 次

最近鸟枪换大炮用上了Mac。有多爽就不用形容了。渣渣Windows7。

 

安装开发环境时遇到不少问题。记录一下:

 

Mac自带了Apache,只需要启动一下就可以使用喽。

 

一、启动apache

sudo apachectl -v #查看已有版本显示是2.4。OK继续配置

/Library/WebServer/Documents/下,这就是Apache的默认根目录即主要程序所在。

Apache安装目录在:cd /etc/apache2/

vi httpd.conf

去掉:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

LoadModule php5_module libexec/apache2/libphp5.so

前面的#号开启PHP支持和RetwriteURL重写功能。即支持伪表态。

然后建个vhost目录存放所有虚拟主机配置文件

#Include /private/etc/apache2/extra/httpd-vhosts.conf

这行下面添加:载入目录下面所有虚拟主机的配置文件。

IncludeOptional /private/etc/apache2/vhost/*.conf

1
 

1
apache 2.4.x之后虚拟主机配置文件有变化:

1
参考:<a href="http://httpd.apache.org/docs/2.4/vhosts/">http://httpd.apache.org/docs/2.4/vhosts/</a>

原有的配置文件中的

1
Require all granted

1
替换了:

Order Allow, Deny

Allow from all

 

还有2点需要注意的是配置文件httpd.conf中。

listen 80 #最好是这样写,不写IP或者写127.0.0.1:80

然后要开多个虚拟主机需要用到:

ServerName 0.0.0.0:80

这个不能写成域名格式,否则添加的虚拟主机打不开的。

PS:配置这里遇到很多坑。因为Apache默认已经把程序放到/Library/WebServer/Documents/

而我的文件是坚果云里面备份的程序。

在/Users下面。根据我的用户名,格式是:

/Users/kyle/www/yunnew.com/public

第一次是发现public权限不够。因为是Windows主机同步备份过来的。

然后发现kyle这个目录和www这个目录权限不够又造成了错误。

修复好了之后Apache还是一直启动成功,但是网站一直是无内容显示,返回码一直是500。

一直排查了4个小时错误,得到的结果还是权限问题

放到个人目录就会出错。同样的文件移到另外的/www/目录,/test目录等就不会出错。

坑死人了。

最后得到的结果还是权限无限。无奈把权限调整给Apache

chown -R _www:_www /www/*

这个 _www是httpd.conf里面配置的usergroup用户组。

然后OK。可以正常访问了。靠!

 

PS2:排错,可以在httpd.conf里面的错误日志存放目录进行检测。

ErrorLog "/private/var/log/apache2/error_log"

这行是保存的错误日志的路径。有错误日志,很快可以搜索百度得到解决方案。

一般出问题应该还是权限问题比较多。

PS3:安装使用Laravel的时候还遇到问题是没有安装MCrypt扩展。需要安装扩展之后重新编译PHP。这个略麻烦。

1、先安装brew,百度一下一大堆教程,这是管理和安装软件的一个工具。类似CentOS的yum,apt-get。

2、通过brew安装mcrypt。brew install mcrypt即可安装成功

3、通过brew安装autoconf。brew install autoconf

4、检查php版本,在Shell里面php -v,得到版本号,我的是5.5.24

tar zxvf php-5.4.17.tar.gz

cd php-5.4.17/ext/mcrypt/

/usr/bin/phpize

./configure

make

sudo make install

没有问题得到下面的结果:

Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20121212/

5、修改php.ini

sudo cp /etc/php.ini.default /etc/php.ini

vi /etc/php.ini

添加一行:

extension=mcrypt.so

1
然后sudo apachectl restart重启,OK生效成功。完美运行Laravel了。

1
 

1
PS4:

1
虽然命令行很牛B。但是很多时候没有必要用命令行修改数据。比如修改php.ini里面的内容,上千行。不熟悉的话非常难找。电脑里面有安装Sublime所以,可以配置一下使用Sublime打开这个文件。

1
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

1
然后使用:

1
subl /etc/php.ini

即可使用Sublime打开文件进行管理了。异常方便。

 

1
二、配置虚拟主机

1
vi /etc/hosts

1
往下面添加几行:

1
127.0.0.1 www.test.com

127.0.0.1 www.testlaravel.com

保存退出

1
三、安装MySQL

1
cp /etc/php.ini.default /etc/php.ini #复制PHP的配置文件出来

创建mysql socket(不设置这个无法连接phpmyadmin)

sudo mkdir /var/mysql 

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock 

然后下载一个phpmyadmin到虚拟主机的目录就可以访问管理数据库了。

 

 

 

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: Mac下配置Apache+PHP+MySQL小记,3Q

Mac下配置Apache+PHP+MySQL小记:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人