MacOS的终端与使用linux系统没什么区别,shell命令几乎完全通用,非常适合服务端开发。下面讲解一下MacOS 下php、apache、mysql开发环境配置,目录结构与linux系统下的差不多,有哪些坑需要注意的呢?
MacOS自带php与apache,把它开启就行了。
第一步:打开终端,sudo su 入进root权限
第二步:mv /etc/php.ini.default /etc/php.ini,创建PHP的配件文件php.ini
第三步:vim /etc/apache2/httpd.conf,修改httpd.conf配置文件
修改监听的端口:
Listen 8080
Listen 80
![98006f276f74d8abb805059eea6c6c4d.png](https://i-blog.csdnimg.cn/blog_migrate/25c2ce318ac4437d3d39cf23d23422e0.jpeg)
默认网站目录 /Library/WebServer/Documents,需要的可以修改
![12c7b59310056290c3726835cd258c58.png](https://i-blog.csdnimg.cn/blog_migrate/203df6164125cd17d5caa6e685f77a47.jpeg)
去掉 LoadModule php7_module libexec/apache2/libphp7.so前面的#号注释,这里是加载解析php的作用,我的是PHP7
![dc09038da5ea2b4992e931f6575b12be.png](https://i-blog.csdnimg.cn/blog_migrate/6876b61d25595bcff92a35cddf312c6b.jpeg)
apache常用命令:
启动Apache服务 sudo apachectl start
重启Apache服务 sudo apachectl restart
停止Apache服务 sudo apachectl stop
查看Apache服务 sudo apachectl -v
第四步:vim /Library/WebServer/Documents/phpinfo.php, 创建测试文件
![27b39fa73db60f215390ae82b68dd4be.png](https://i-blog.csdnimg.cn/blog_migrate/b2bbf518d2d0eec1ef39532c32eeb91c.jpeg)
浏览访问:http://localhost/phpinfo.php,看以下图片,恭喜你,php跑起来了
![932f8cddd177c6c062958b13ceb1ab34.png](https://i-blog.csdnimg.cn/blog_migrate/d56ded401db22f4f30680428bf1e7d99.jpeg)
第五步:Mac没用自带mysql,只好去官网 https://dev.mysql.com/downloads/mysql/ 下载
![fb3168eab9537074f6bbcea596e3cc10.png](https://i-blog.csdnimg.cn/blog_migrate/92736e9258d6d418cdb269851ab990ff.jpeg)
安装完成后, mysql --version查看版本,下面是我本机的:
mysql Ver 8.0.17 for macos10.14 on x86_64 (MySQL Community Server - GPL)
php -v 查看php版本:
PHP 7.1.16 (cli) (built: Mar 31 2018 02:59:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
数据库目录:/usr/local/mysql/data
mysql 启动或者停止命令行:
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server restart
sudo /usr/local/mysql/support-files/mysql.server stop
也可以在系统偏好设置->MySQL中管理:
![c05edd2ff8f610706f6d69e70d5e5a7c.png](https://i-blog.csdnimg.cn/blog_migrate/2e31769b23f67be9e0aecb70f9c3b418.jpeg)
如果没有/etc/my.cnf 数据库配置文件,需要创建vim /etc/my.cnf,网上可以找到别人发出来的,复印粘贴进去保存
再关联Configuration File,点apply
![1fcaad909226d84f252d608a920353ae.png](https://i-blog.csdnimg.cn/blog_migrate/f6d9fc4ec8b744cfce3dcf5d4e01f571.jpeg)
mysql -uroot -p 登录
配置mysql_native_password身份验证插件的密码
CREATE USER 'xiaozhu'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
grant all privileges on *.* to 'xiaozhu'@'localhost';
flush privileges;
vi /etc/my.cnf
在[mysqld]中添加下边的代码default_authentication_plugin=mysql_native_password
sudo /usr/local/mysql/support-files/mysql.server restart 重启
第六步: 我的php7 只支持mysqli_connect访问mysql数据库,并且mysql要配置mysql_native_password身份验证插件的密码,mysql8的原因
下载phpMyAdmin放置 /Library/WebServer/Documents目录,登录创建数据库test,建表user
![4324d804c4e16aa59e848934239ea3fd.png](https://i-blog.csdnimg.cn/blog_migrate/f70882502efaa2408a2fb1dfc706fff9.jpeg)
创建测试代码:vim /Library/WebServer/Documents/mysql.php
![8c5ecb0f550e3337004cd1f9cd31779a.png](https://i-blog.csdnimg.cn/blog_migrate/f34e7f63808c9b5bad43a6c3137d0fd2.jpeg)
访问http://localhost/mysql.php,看到以下界面大功告成。
![4a86c9d524d6efffcf5089be71ace8da.png](https://i-blog.csdnimg.cn/blog_migrate/694ed545f7554cf1dd274ce530bfd961.jpeg)
总结:主要的坑出在mysql8要配置mysql_native_password身份验证插件的密码,还有php7不支持mysql_connect,要用mysqli_connect。