Mac 安装php集成环境 2019年9月份最新

brew安装php

  • 安装最新的php7.3(关于brew,请另篇学习)

    brew install php
    
  • 记录安装后的一些信息,在后面要用

    # httpd.conf
    LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
    
    # php.ini and php-fpm.ini 文件所在目录
    /usr/local/etc/php/7.3/
    

apache配置

启动apache静态服务
  • 终端输入命令,启动mac自带apache服务
sudo apachectl start
  • 终端查看版本
sudo apachectl -v

Server version: Apache/2.4.33 (Unix)
Server built:   Apr  3 2018 23:45:11
  • 浏览器查看静态服务是否启动
localhost
127.0.0.1
  • 网页显示It works!
  • 代码默认目录
/Library/WebServer/Documents/
配置apache
  • 备份Apache httpd.conf配置文件
cd /etc/apache2
sudo cp httpd.conf httpd.conf.bak    # 备份
sudo cp httpd.conf.bak httpd.conf   # 恢复备份
  • 修改配置文件
/private/etc/apache2/
/private/etc/apache2/httpd.conf  # 与/etc/apache2/httpd.conf是同一个文件
  • 设置代码目录
找到:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

修改为:(lx为你的电脑用户名)
DocumentRoot "/Users/lx/Sites"
<Directory "/Users/lx/Sites">
  • [可选操作]便没有index.html也搜索目录下的文件
// 搜索Options FollowSymLinks
Options FollowSymLinks Multiviews     // 没有文件 显示Forbidden 禁止访问

// 更改为
Options Indexes FollowSymLinks Multiviews   // 如果没有index.html(php) 则显示所有文件列表
绑定php解释器
# LoadModule php5_module libexec/apache2/libphp5.so  // 去掉# 会使用php5
或
#LoadModule php7_module libexec/apache2/libphp7.so   // 去掉# 会使用系统自带php7.1
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so  // 添加此行使用刚刚安装的php7.3
  • 注意

    虽然网站运行代码,已经绑定了brew安装的php-fpm,但是终端运行,还是系统自带php7.1,具体原因见番外。

  • 添加文件类型识别

 搜索
 DirectoryIndex index.html
  改成
 DirectoryIndex index.html index.php
启用php默认设置
  • 切换目录 并复制文件(2019年10月19日 这一步可跳过)
cd /etc
sudo cp php.ini.default php.ini // 这个是mac自带的php配置 brew的配置见开头安装部分
  • 重启Apache
sudo apachectl restart
或者
sudo apachectl -k restart

到此为止,你在浏览器输入localhost,即可正确解析php文件

虚拟主机与虚拟域名

启用虚拟主机 设置虚拟域名

  1. 修改 /etc/apache2/httpd.conf 关联host配置
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

修改为 (注释掉#号)
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
  1. 备份文件
cd /etc/apache2/extra

sudo cp httpd-vhosts.conf httpd-vhosts.conf.bak  # 备份
sudo cp httpd-vhosts.conf.bak httpd-vhosts.conf # 恢复备份
  1. 打开 httpd-vhosts.conf 并按如下格式配置域名,2 5 6行见示例具体情况,不需要改动
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "项目地址"
    ServerName 虚拟域名
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
  1. 使用iHosts软件修改**/private/etc/host**文件添加常用域名
    示例
	127.0.0.1 blog.com
支持URL重写 隐藏框架入口文件index.php
  1. 开启模块支持
搜索
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so

去掉#
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  1. 设置**.htaccess**权限,将AllowOverride Node改为 AllowOverride All 一共有三处 开启此处即可
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    # AllowOverride None 此处None改成All
	
    AllowOverride All

番外 终端php与phpinfo版本不一致

  • 电脑上存在多版本的php是正常的,出现这种情况也是正常的

  • phpinfo显示的版本,是apache LoadModule关联的php,前文已经讲过

  • 终端显示的版本,是系统自带的php

    这是因为在2019年7月份之后,重装的系统,brew link php时,无权写**/usr/local/sbin目录(不存在此目录),导致设置环境变量失败,创建/usr/local/sbin之后,再次执行brew link php**即可解决。

    注:此篇文章写的相对比较简写,如果您遇到什么问题,可以V信Q-rugulus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值