海天无影Blog

Mac配置php+mysql环境

/ 3554阅 / 0评 / 0

最近需要使用php+mysql环境来测试网站,本来是在虚拟机里安装centos+lnmp跑的,但是后来发现mac自带Apache+php,只要打开配置一下就可以了,网上文章还是比较多,有的简单有的复杂。海天也只是简单运用,也不需要升级php版本什么的,所以只需要能够跑起来就ok。

配置Apache

Apache相关命令

#开启
sudo apachectl start
#停止
sudo apachectl stop
#重启
sudo apachectl restart

开启Apache后,在浏览器打开localhost即可看到“It works!”的页面

It works!

修改Apache目录

Mac下Apache网站的的默认文件夹为/Library/WebServer/Documents

但是默认的目录默认是隐藏的,且每次进行操作都需要输入管理员密码,很不方便,因此需要将其修改成自定义的目录。

打开终端输入

sudo vim /etc/apache2/httpd.conf

找到如下两处,将其中的默认目录路径,修改成自定义的目录,比如 “/Users/haitian/Web”

DocumentRoot "/Library/WebServer/Documents"

<Directory "/Library/WebServer/Documents">

配置Apache

如果修改自定义目录后,报错403 Forbidden,You don't have permission to access/on this server的话,解决方案如下:

打开httpd.conf文件找到

#<Directory />
#   AllowOverride none
#  Require all denied
#</Directory>

修改为:

<Directory />
    Options  Indexes  FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

最后将上面设置自定义目录下方的,AllowOverride None改为AllowOverride All

配置PHP

配置httpd.conf

打开终端输入:

sudo vim /etc/apache2/httpd.conf

找到 #LoadModule php7_module libexec/apache2/libphp7.so

去掉注释(删除前面的井号),其中php7为你的电脑PHP的版本。

然后重启Apache即可运行php了。

设置php.ini

Mac默认没有php.ini文件,但可以通过default模板设置一个,模板位于/private/etc/php.ini.default 或者 /etc/php.ini/default ,自行拷贝出一份php.ini文件。

拷贝命令:

sudo cp /private/etc/php.ini.default /private/etc/php.ini  

然后就可以进行编辑设置了。

cd /private/etc/
sudo vi php.ini

配置mysql

安装mysql

mysql需要自己手动安装了,可以去官网下载或者使用Brew安装。

brew install mysql

mysql常用命令

#启动
mysql.server start
#关闭
mysql.server stop
#重启
mysql.server restart

修改mysql root密码

网上有很多方法,但最快速的方法是使用空密码,以root用户的身份登录进入MySQL控制台,然后再去更新密码即可。

$ mysql -u root -p
mysql > show databases; //看一下所有数据是否齐全
        > use mysql; //切换到mysql库
        > update user set password=password('1234') where user='root';
        > flush privileges; //一定要记住刷新权限,不然修改密码不生效
        > exit; //退出,使用修改后的密码重新登录,确定是否修改成功

mysql报错解决

我在使用Navicat连接mysql的时候,报错“Authentication plugin 'caching_sha2_password' cannot be loaded”,不知道是不是个例,查了下这是 MySQL 的问题,不是客户端问题。解决方法为,登录mysql,输入:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注