Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项
首先启动 Apache,在终端里输入命令:
sudo apachectl start
查看 Apache 版本:
httpd -v
在Yosemite 10.10下,apache更新了
Server version: Apache/2.4.9 (Unix) Server built: Sep 9 2014 14:48:20
接着测试,我就发现如下几点需要修正,如有其它疑问欢迎交流:
1、重新启用PHP,避免脚本直接显示在页面上
首先是 http://localhost/ 会将 PHP 代码直接显示在页面上,这里需要开启 php 支持:
sudo nano /etc/apache2/httpd.conf
按 ctrl+W 查找并去掉代码行前边的 #,如下:
LoadModule php5_module libexec/apache2/libphp5.so
2、开启支持用户级目录 http://localhost/~username/
用户级目录不能访问了,http://localhost/~haibor/,提示:
Not Found The requested URL /~haibor/ was not found on this server.
首先配置 haibor.conf 运行命令:
sudo vi /etc/apache2/users/haibor.conf
将以下代码保存在 conf 文件中,与 10.9.X 不一样:
<Directory "/Users/haibor/Sites/"> Options Indexes MultiViews AllowOverride None Require all granted </Directory>
记得给权限:
sudo chmod 755 /etc/apache2/users/haibor.conf
这里还需要启用几个支持,运行:
sudo nano /etc/apache2/httpd.conf
查找并去掉代码行前边的#,启用如下:
LoadModule authz_core_module libexec/apache2/mod_authz_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule userdir_module libexec/apache2/mod_userdir.so Include /private/etc/apache2/extra/httpd-userdir.conf
接着运行:
sudo nano /etc/apache2/extra/httpd-userdir.conf
开启:
Include /private/etc/apache2/users/*.conf
最后别忘记重启 Apache
sudo apachectl restart
再试一下,是不是成功啦!
http://localhost/~haibor/
注:这里的 haibor 是macbook用户名。
另,如果需要.htaccess支持伪静态rewirte,需要在 httpd.conf 开启代码行:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
3. 先复制一份 php.ini,然后就可以通过php.ini来配置各种PHP功能了。
sudo cp /etc/php.ini.default /etc/php.ini
例如修改 upload_max_filesize、memory_limit、post_max_size 三项值,来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值。
配置PHP的MCrypt扩展
问题一:
执行执行 phpize 报错:
1
2
3
4
5
6
7
|
grep : /usr/include/php/main/php .h: No such file or directory grep : /usr/include/php/Zend/zend_modules .h: No such file or directory grep : /usr/include/php/Zend/zend_extensions .h: No such file or directory Configuring for : PHP Api Version: Zend Module Api No: Zend Extension Api No: |
解决办法:
1
|
sudo ln -s /Applications/Xcode .app /Contents/Developer/Platforms/MacOSX .platform /Developer/SDKs/MacOSX10 .9.sdk /usr/include /usr/include |
PS:经测试,适用于 Yosemite (10.10) Xcode 6.0.1 (6A317)
问题二:
如果执行 phpize 提示如下错误:
1
2
|
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. |
解决办法:
先安装Homebrew:
1
|
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" |
然后安装 autoconf :
1
|
brew install autoconf |
MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展库。但是它在Mac OS X下的安装却不那么友善,具体如下:
下载并解压libmcrypt-2.5.8.tar.bz2。
在终端执行如下命令(注意如下命令需要安装xcode支持):
cd ~/Downloads/libmcrypt-2.5.8/
./configure --disable-posix-threads --enable-static
make
sudo make install
下载并解压PHP源码文件php-5.3.1.tar.bz2。Mac OS X 10.6.3中预装的PHP版本是5.3.1,而现在最新的PHP版本是5.3.2,你需要依据自己的实际情况选择对应的版本。
在终端执行如下命令:
cd ~/Downloads/php-5.3.1/ext/mcrypt
phpize
./configure
make
make install
打开php.ini
sudo vi /etc/php.ini
在php.ini中加入如下代码,并保存后退出,然后重启Apache
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
当你再访问http://localhost/~[用户名]/phpmyadmin时,你会发现“无法加载 mcrypt 扩展,请检查您的 PHP 配置。”的提示没有了,这就表示MCrypt扩展库安装成功了。
4
MySQLStartupItem.pkg(mysql启动项目),可以在你电脑启动系统时自动运行mysql服务,它安装在/Library /StartupItems/MySQL/,如果你不想系统启动时运行mysql服务,请不要安装。如果你在安装后又不想使用,请删除/Library /StartupItems/MySQL/这个目录。
启动mysql服务
1、如果你已经安装了MySQLStartupItem.pkg,重新启动电脑即可。
2、如果你有安装MySQLStartupItem.pkg或者不想启动电脑,运行:应用程序-实用工具-终端,在终端中输入命令:sudo /Library/StartupItems/MySQLCOM/MySQLCOM start,然后输入你的系统管理员密码即可。
关闭mysql服务
终端中输入命令:sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop,然后输入你的系统管理员密码即可。
你也可以去系统偏好设置-其他-MySQL,通过这个来启动和停止MySQL服务。
更改mysql root账户密码
终端中输入命令:/usr/local/mysql/bin/mysqladmin -u root password 新密码
你可以随时使用这条命令更改你的密码。
终端登录mysql
终端登录mysql
方法1:绝对路径
终端中输入命令:/usr/local/mysql/bin/mysql -u root -p
提示:输入你的新密码
方法2:(推荐)相对路径
终端中输入命令:
查看路径中有没有需要的路径:
终端中输入命令:echo $PATH
没有,继续
添加需要路径:PATH="$PATH":/usr/local/mysql/bin
以后
终端中需输入命令:mysql -u root -p 即可