一、配置环境
1 启动APache
Mac系统本身自带Apache,所以可以直接打开。以下为两种方式:
- 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”
- 打开“终端(terminal)“,然后输入
sudo apachectl start
,使Apache运行。- 开启Apache就是开启Web共享,这时输入“http://localhost”,就可以看到“It works!”的页面
- Apache默认根目录位于“/Library/WebServer/Documents/”
2 运行PHP
- 在终端运行
sudo vi /etc/apache2/httpd.conf
找到“#LoadModule php5_module libexec/apache2/libphp(数字).so”
,去掉前面的#号。 - 运行
sudo cp /etc/php.ini.default /etc/php.ini
,这样就可以通过php.ini
来配置各种PHP功能了。 - 运行
sudo apachectl restart
,重启Apache,之后就可以使用。
二、修改PHP默认根目录
- 打开文件
/private/etc/apache2/httpd.conf
找到DocumentRoot修改为自定义路径
- 重启apache服务:
sudo apachectl restart
三、问题
1 PHP连接MYSQL 报错"No such file or directory“
原因:因为Mac下默认php.ini
配置的default_socket
在/var/mysql/mysql.socket
,而后安装的mysql
的socket
文件大多在/tmp/mysql.socket
。
解决:
- 进入
mysql
后 输入status
查看UNIX socket:
值。 - 终端进入
/private/etc/php.ini
,修改mysqli.default_socket
、pdo_mysql.default_socket
的值为第一步拿到的值。
2 the server requested authentication method unknown to the client
原因:MySQL 8.x中,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。
解决:
进入mysql命令框后执行如下:
use mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
3 Mysql更改密码时Your password does not satisfy the current policy requirements
原因:新设置密码不符合密码策略
解决:
- 查看 mysql 初始的密码策略
输入语句SHOW VARIABLES LIKE 'validate_password%';
进行查看。
- 修改
validate_password_policy
输入设值语句set global validate_password_policy=LOW;