当初真没想到,给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!