mac下配置php环境


当初真没想到,给MacBook配置PHP环境,竟然花了两三天的时间。看似网上找的教程一找一大堆,但大都是几年前的,最近也是半年前的,最主要卡在数据库这,mysql版本不一样,安装的过程也不尽相同。还好现在终于搞好了。就在这记录下来,以备不时之需。

1:开启Apache

终端运行

sudo apachectl start

开启Apache;

此时输入

sudo apachectl -v

应看到一大串Apache相关配置信息。

此时打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。证明Apache已经开启了。

Apache的根目录位于“/Library(资源库)/WebServer/Documents/”下,以后做项目后台php程序就放在这。

Apache的安装目录打开方法:doker上右击Finder =》"前往文件夹" =》 输入"/etc"

2:配置相关文件

进入Apache安装目录,打开 apache2 文件夹=》httpd.conf 文件,找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#号去掉,保存

然后Apache安装目录,打开 apache2 文件夹=》打开 extra 文件夹=》httpd-vhosts.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>

每一行用#注释掉,并在最后添加如下代码:

<VirtualHost *:80> 
DocumentRoot "/Library/WebServer/Documents" 
ServerName localhost 
ErrorLog "/private/var/log/apache2/localhost-error_log" 
CustomLog "/private/var/log/apache2/localhost-access_log" common 
</VirtualHost> 
<VirtualHost *:80> 
DocumentRoot "/Users/snandy/work" 
ServerName mysites 
ErrorLog "/private/var/log/apache2/sites-error_log" 
CustomLog "/private/var/log/apache2/sites-access_log" common 
<Directory /> 
Options Indexes FollowSymLinks MultiViews 
AllowOverride None 
Order deny,allow 
Allow from all 
</Directory> 
</VirtualHost>
3:重启Apache,终端输入

sudo apachectl restart

4-1:安装数据库(我就是在这这里卡住了很久)

首先得有文件:

打开mysql官网,点我打开 下载dmg的

下载之后,双击安装,无脑下一步下一步。

注意!安装完成之前会有一个提示,系统也会有个警告音,注意这时候出来的弹窗不要无脑点确定了,因为新版mysql会默认生成一个随机密码,就在弹窗上,把这个密码复制下来,不然很麻烦。比如我,就把他们都存在了记事本上,大概我们需要保存的信息是这样的:

2016-08-01T13:57:05.035530Z 1 [Note] A temporary password is generated for root@localhost: NLLw+A_3&P(h

If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual

加粗那部分就是密码

4-2:修改数据库配置

此时进入系统偏好设置,可以看见最下面多了一个mysql,数据库已经安装成功,点击图标,有个start按钮,顾名思义,现在我们要启动mysql,此时数据库就启动了。

进入Apache安装目录,找到bashrc

打开,在文档最后添加:

alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

保存,然后重启数据库。

可能保存的时候提示没有权限,给这个文件权限就可以了。

4-3:进入数据库,修改密码

终端输入

mysql -uroot -p

会提示

Enter password:

这时候,就把在安装时随机生成的密码输入,密码比较长,复制粘贴,回车

如果顺利的话,此时会提示一大堆欢迎信息,总之你看到welcome,就算是OK了,接下来只需要修改下密码,就可以大功告成:

此时输入命令:

show databases;

会提示你修改密码之类的英文:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

然后输入:

SET PASSWORD = PASSWORD('123456');

设置密码为123456,当然,也可以换成你想要的密码。此时会显示

Query OK, 0 rows affected (0.03 sec)

至此,万恶的mac php环境算是完事了。终于能愉快的写代码了~

有时。会出现 mysql phpmyadmin登录#2002 – 服务器没有响应

解决办法:

1、先找到phpmyadmin安装路径,用一下查找。

find / -name phpmyadmin 或 find / -name phpMyAdmin

2、进入phpmyadmin目录,比如:

cd /www/wdlinux/wdcp/phpmyadmin 然后编辑config.inc.php

命令:

vi config.inc.php 找到:$cfg['Servers'][$i]['host'] = ‘localhost’;这一行,

按i进入编辑模式然后将这里的localhost修改为127.0.0.1就好了。

按esc退出编辑,然后输入:wq回车即可。我相信很多人都这都解决了。但我没有,继续。

进入phpmyadmin下面的libraries文件夹,修改config.default.php,同样修改localhost为127.0.0.1,保存可以了。

次日更新:

本以为到此结束,但是第二天在做一个验证码的时候发现验证码无法显示,上网东找西找,了解到是mac自带的php没有freetype,可以通过安装高版本的PHP解决,我现在系统是 10.11.6 ,应该是php5.5这个版本。解决办法:

1:安装 brew,然后,命令行

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

这句话意思就是,安装php5.6。

注意,这里会有很多人反映说下载速度相当相当慢,比如我,在安装的时候,等了四五个小时,一直是卡在下载那里,大概是国外服务器网速不行。附上我的解决方法:

把那个下载链接复制到迅雷,用迅雷下载,下载链接在命令行可以看到,大概是在第二个download后面,或者复制到浏览器打开,也可以下载,下载完成后,在 资源库/caches这个文件夹下,新建一个 Homebrew 文件夹,把下载的这个文件放里面,然后再次运行

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

然后过一阵子,保险起见几十分钟吧,刷新刚才验证码不显示的页面,已可以正常显示,用 phpinfo()查看

OK!