正 文:
本文为记录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文件夹里:
使用系统自带的目录 /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 可以在 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.gz2、从压缩包里提取 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目前已经没有了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=430932、Zend Guard Loader on MacOX Snow Leopard:
http://forums.zend.com/viewtopic.php?f=57&t=797083、installing Zend Guard Loader on Mac os with PHP 5.3:
http://forums.zend.com/viewtopic.php?f=57&t=21538