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
默认网站目录 /Library/WebServer/Documents,需要的可以修改
去掉 LoadModule php7_module libexec/apache2/libphp7.so前面的#号注释,这里是加载解析php的作用,我的是PHP7
apache常用命令:
启动Apache服务 sudo apachectl start
重启Apache服务 sudo apachectl restart
停止Apache服务 sudo apachectl stop
查看Apache服务 sudo apachectl -v
第四步:vim /Library/WebServer/Documents/phpinfo.php, 创建测试文件
浏览访问:http://localhost/phpinfo.php,看以下图片,恭喜你,php跑起来了
第五步:Mac没用自带mysql,只好去官网 https://dev.mysql.com/downloads/mysql/ 下载
安装完成后, 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中管理:
如果没有/etc/my.cnf 数据库配置文件,需要创建vim /etc/my.cnf,网上可以找到别人发出来的,复印粘贴进去保存
再关联Configuration File,点apply
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
创建测试代码:vim /Library/WebServer/Documents/mysql.php
访问http://localhost/mysql.php,看到以下界面大功告成。
总结:主要的坑出在mysql8要配置mysql_native_password身份验证插件的密码,还有php7不支持mysql_connect,要用mysqli_connect。