在macOS中配置apache+php+mysql

由 月琳 发布 |233次浏览

前言:

本文为自己记录所用,不一定会与你一致。
因为最近又重装了系统,而且刚好需要用到本地调试环境,于是就做了一下记录,方便以后又重装系统。

提示:需要homebrew,官网:https://brew.sh/index_zh-cn,没安装的可以直接使用命令安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

一、 安装mysql

  1. 使用brew安装mysql

$ brew install mysql

  1. 启动mysql服务

$ sudo brew services start mysql

二、安装PHP

(如果不需要各种拓展的话,可以直接使用系统自带的php;编译也可,不过编译拓展库简直折磨人)

  1. 使用brew安装php

先查找php的包名,命令:$ brew search php,我这里目前是“php@7.3”

安装:$ brew install php@7.3

  1. 切换首选的PHP

(本步骤实际上在brew安装php之后,终端有给提示,建议去你的终端复制!)

由于macOS系统自带了php,我们需要将默认php切换到刚刚安装的php:

  # 注意:“php@7.3”是我当前安装的版本,“.zshrc”是因为我用的是zsh,请如实填写
  echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
  export LDFLAGS="-L/usr/local/opt/php@7.3/lib"
  export CPPFLAGS="-I/usr/local/opt/php@7.3/include"

编辑apache的httpd.conf配置文件,路径是/etc/apache2/httpd.conf,在头部写入以下内容并保存:

LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
# 注意:“php@7.3”是我当前安装的版本
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
  1. 启动php服务

brew services start php@7.3

  1. 安装后的文件路径(仅留作记录)

php.ini在: /usr/local/etc/php/7.3/

三、启用apache

  1. 由于macOS系统自带了apache,默认是关闭的,我们直接启动它即可使用,终端命令:
$ sudo apachectl start
  1. (可选)修改apache的运行路径根目录:

$ sudo vim /etc/apache2/httpd.conf

找到以下类似代码,将xxx修改为你想改的路径

DocumentRoot "xxx"
<Directory "xxx">

测试

自行写个php连接数据库的demo,如果连接失败遇到报错:“The server requested authentication method unknown to the client”,则终端连接mysql后,输入以下命令,

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxYourPassword';
# ‘xxxYourPassword’中填写你即将更改的mysql新密码,

这个问题参考文章:https://blog.csdn.net/xiaoxinshuaiga/article/details/82798919



使用系统自带的php方式:

配置php.ini

  1. 生成一份php.ini,终端执行命令:

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

  1. 编辑php.ini,取消掉所需模块的注释:

sudo vim /etc/php.ini

例如;extension=pdo_mysql,取消掉注释以启用pdo_mysql模块——也就是去掉“;”号:

先make一遍源码,参考->某文章,(php.ini里的extensions路径在系统文件里的话需要解除系统只读状态)

make编译之后,单独安装pdo:

cd 到 源码/ext/pdo
$./ext/pdo/phpize
$./ext/pdo/configure --with-php-config=/usr/bin/php-config
$ make && make install

再安装pdo_mysql:

cd 到 源码/ext/pdo_mysql
$./ext/pdo_mysql/phpize
$./ext/pdo_mysql/configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr/local/Cellar/mysql/8.0.19/

fatal error: 'php.h' file not found,没救了,再见。用brew安装吧。


暂无评论

发表评论