macOS下使用MAMP配置多站点PHP集成开发环境

在客户端业务稳定需求变少,Server端极度缺人的背景下,被发配来写一手世界上最好的语言了。

Getting Started

macOS想要配置集成PHP开发环境无非那么几种选择:

  • 使用系统自带的 Apache ,升级系统自带的PHP版本,安装MySQL.
  • 虚拟机
  • homestead(实际也是虚拟机)
  • Docker
  • MAMP或者 XAMPP

作为一只萌新,为了减少繁琐的流程,尽早的享受编(tou)程(lan)的乐趣,自然而然的选了MAMP。

说一下不使用其他几种方式的原因:

  • 使用自带的会随着macOS系统的升级,环境可能被覆盖。
  • 虚拟机每次开启服务太繁琐,而且性能没优势。
  • XAMPP Retina屏下字体发虚,不能忍。
  • Docker 优雅而且能很好的解决开发的环境一致性问题,而且性能也可观。没有使用它的原因是 没有现成的Dockerfile文件且懒得找资料。

MAMP的安装包包含了MAMP和MAMP PRO,MAMP免费但相对简陋, PRO更为强大,可以很轻松的实现多站点配置,但是收费39.9刀,试用15天免费。
15天后,厚着脸皮用改时间大法用了一阵子之后,最终卸载了MAMP PRO。这篇文章主要就是记录卸载了MAMP PRO之后如何用简陋的MAMP配置多站点以及安装所需的PHP扩展。

MAMP

Apache 配置

进入 Applications/MAMP/conf/apache/下打开 httpd.conf 文件。
搜索 Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf,去掉前面的注释,是虚拟主机文件生效。
用文本编辑器打开extra 文件夹下的 httpd-vhosts.conf
写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Listen 81
Listen 82

<VirtualHost *:81>
DocumentRoot "/Users/Jat/Desktop/PHPDev/Test1"
# ServerName test.com
# ServerAlias test.com
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:82>
DocumentRoot "/Users/Jat/Desktop/PHPDev/Test2"
# ServerName test.com
# ServerAlias test.com
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

VirtualHost 后接Host地址,*为通配符。
DocumentRoot为站点根目录。
监听的端口需要使用Listen指明。

MySQL

Preference-> Ports-> MySQL Port 改为 3306。

Memcache扩展

首先你需要编译好所需扩展的.so文件。
这里我在Github上找到了编译好的.so文件.(懒出花样。

  • 拷贝到 /Applications/MAMP/bin/php/phpX.x.x/lib/php/extensions/no-debug-non-zts-200xxxxx( X.x.x代表你使用的PHP版本)。
  • 打开 /Applications/MAMP/bin/php/phpX.x.x/conf/php.ini
  • php.ini中加上 extension=memcached.so
  • 重启MAMP.

Memcache依赖

  • $ brew install memcached
  • $ brew install libmemcached
  • $ brew services start memcached //登陆时启动依赖。