本文为记录MAC OS X环境下配置APACHE+PHP+MYSQL+PHPMYADMIN的教程。飘易手里的mac系统是os x 10.9.5 ,由于需要在mac系统下配置php开发环境,特此记录下配置要点,留作备用,如果对您的配置也有帮助,那敢情是好的。
MAC OS X 10.9.5系统里已经自带了 apache 和 php ,只是默认没有启用,我们将他们启用即可。
APACHE的默认版本是 Apache/2.2.26 (Unix),php版本是PHP 5.4.30。
一、启用apache
在终端(Terminal)中输入 sudo apachectl start 即可启动apache。
apache常用命令:
启动 Apache: sudo apachectl start
关闭 Apache: sudo apachectl stop
重启 Apache:sudo apachectl restart
查看 Apache 版本:httpd -v 或者 apachectl -v
启动apache后,在浏览器中访问 http://localhost 或 http://127.0.0.1,如果出现“It works!”就表示运行正常。
OS X 中默认有两个目录可以直接运行你的 Web 程序,一个是系统级的 Web 根目录,一个是用户级的根目录。
注:以下 piaoyi 为用户名,需要按实际修改。
Apache系统级的根目录及对应网址是:
/Library/WebServer/Documents/ ---- http://localhost
用户级的根目录及对应网址是:
~/Sites ----- http://localhost/~piaoyi/
~/Sites 也就是你用户目录下面的”站点”目录,在 OS X 中,这个目录可能没有,所以你需要手动建立一个同名目录。
建立方式很简单,直接在终端中运行:
sudo mkdir ~/Sites
比如我就把网站根目录放在我的用户根目录下的 php文件夹里:
MAC OS X环境下配置APACHE+PHP+MYSQL+PHPMYADMIN
使用系统自带的目录 /Library/WebServer/Documents/ 很不方便,因此可以修改为我们的用户目录,比如我的 php 文件夹,修改apache的配置文件 httpd.conf (如果放在其他目录就需要配置复杂的权限,建议大家放在用户级的根目录里):
把 DocumentRoot "/Library/WebServer/Documents"
修改成:DocumentRoot "/Users/CCMAC/php"
把 <Directory "/Library/WebServer/Documents">
改成:<Directory "/Users/CCMAC/php">
然后再解决“You don't have permission to access on this server“错误,查找:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
改成:
<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#allow from all
</Directory>
启用 虚拟主机配置文件:
找到 #Include /private/etc/apache2/extra/httpd-vhosts.conf
删掉前面的注释符号 #
然后打开”/private/etc/apache2/extra/httpd-vhosts.conf“,把里面的2段示例代码 注释掉,添加我们自己的虚拟主机配置即可。
二、启用php
php为系统自带,我们只要手动打开即可:修改apache配置文件,用vim命令或编辑器都可以,打开:
/etc/apache2/httpd.conf
查找里面的的这行:#LoadModule php5_module libexec/apache2/libphp5.so
把前面的注释符号 # 删掉,保存文件并重启apache,此时php就已经启用了。
三、安装mysql
mysql MAX系统没有自带,需要自己安装。
你可以点击 http://dev.mysql.com/downloads/mysql/ 去官网下载 MySQL 的安装包。
国内用户从国外服务器下载mysql可能太慢,可以使用sohu提供的国内镜像点下载:http://mirrors.sohu.com/mysql/ 。
请下载 Mac OS X 10.9 (x86, 64-bit), DMG Archive (如有更新版本,可下载)。飘易下载的时候,最新版是:(mysql-5.6.22-osx10.9-x86_64.dmg)。
下载完DMG之后,双击安装后,mysql会随系统启动而自启动,进入「系统偏好设置」,在面板的最下面你会看到一个 MySQL 的设置项,点击它之后就可以管理MySQL的启动和停止。
把mysql和mysqladmin这2个命令建立软链接到系统默认执行目录里/usr/bin 或 /bin 或 /usr/sbin 或 /sbin 里面
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
这样就可以在终端中比较简单地通过命令进行相应的操作,比如安装完毕之后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。
注意:这个时候在php程序里使用 127.0.0.1 连接mysql是可以正常使用的,但是如果我们使用 localhost 主机名来连接mysql,会出现无法连接mysql服务器的错误信息,需要我们手动修复下。
错误原因:
PHP默认连接mysql的路径是 : /var/mysql/mysql.sock ,但是mac下这个路径是不存在的,mac把mysql.sock 放在了 /tmp/mysql.sock ,解决方法有2个:
方法1、修改php.ini文件(/etc/php.ini)
查找 mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket 把他们的值都改为 /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock
方法2、使用 ln -s 命令创建软连接(推荐)
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
原理是把 /tmp/mysql.sock 映射到 /var/mysql/mysql.sock,这样,php默认读取的mysql.sock文件路径就存在了。
可以在 phpMyAdmin官网下载安装包:http://www.phpmyadmin.net/home_page/downloads.php,可以下载 all-languages.tar.gz 使用中文版,解压之后,将解压出来的文件夹改名为”phpmyadmin”,并放到上面建立的”站点”目录下。
配置:复制 phpmyadmin/libraries/config.default.php 到并改名 phpmyadmin/config.inc.php,然后修改 config.inc.php文件:
$cfg['blowfish_secret'] = 'piaoyi';
这个密钥是用作cookie加密用的。
到这里就算完成了,接下来你就可以访问 http://localhost/phpmyadmin/ 来通过 phpmysql 管理你的数据库了。
五、如有必要,可以安装 Zend Guard Loader
mac 10.9.5 自带的 PHP 5.4.30 内部核心 zend 引擎版本是 Zend Engine v2.4.0,但是这个可不是 zend guard loader(php5.2及之前的版本名字是 Zend Optimizer),不要搞混哦。在调试某些程序(比如 ecstore 2.3)的时候,就需要 Zend Optimizer 2.5.7 及以上。
MAC下的安装步骤(参考):
1、下载 Zend Guard Loader 6.0.0 (for PHP 5.3 or 5.4) ,网址: http://www.zend.com/en/products/guard/downloads
文件是:Zend Guard Loader (Runtime for PHP 5.4) 6.0.0,类型:DMG。
Mac下载地址:http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-darwin10.7-x86_64.tar.gz
2、从压缩包里提取 ZendGuardLoader.so (Linux) or ZendLoader.dll (Windows) ;
mac下的ZendGuardLoader.so,只有3.3版本的。
3、编辑php配置文件 'php.ini' :
zend_extension = /usr/local/lib/php/ZendGuardLoader.so ##路径根据实际情况而定
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
4、如果你同时使用 Zend debugger,请确保在 Zend Guard Loader 加载之后加载.
5、如果你使用 ioncube loader,请确保在 Zend Guard Loader 加载之前加载.
6、重启 Web server.
安装完毕后,用 phpinfo() 函数查看,有这类描述:“ with Zend Guard Loader v3.3”,出现下图即为成功:
MAC OS X环境下配置APACHE+PHP+MYSQL+PHPMYADMIN
注意:MAC os x目前已经没有了32位的版本,新出的都是64位。因此,在MAC下安装了php5.3之后,再到zend官网去找 ZendGuardLoader.so,你会发现zend根本就没有出 64位版本的 ZendGuardLoader.so,只有32位的,这个时候,如果你强行引用32位的 ZendGuardLoader.so for mac php5.3,就会出现下列错误:
Failed loading /usr/local/lib/php/php53/ZendGuardLoader.so: dlopen(/usr/local/lib/php/php53/ZendGuardLoader.so, 9): no suitable image found. Did find:
/usr/local/lib/php/php53/ZendGuardLoader.so: mach-o, but wrong architecture
这个错误,官方回复说无解,此路不通。
At present we only support 32 bit on the Mac for backward compatibility. In the next major version we will probably move to 64 bit only. . You're simplest solution might be to download Zend Server CE for the Mac and get a complete 32 bit stack.
参考链接:
1、ZendGuardLoader on php 5.3.8:http://forums.zend.com/viewtopic.php?f=57&t=43093
2、Zend Guard Loader on MacOX Snow Leopard:http://forums.zend.com/viewtopic.php?f=57&t=79708
3、installing Zend Guard Loader on Mac os with PHP 5.3:http://forums.zend.com/viewtopic.php?f=57&t=21538