mac 利用brew安装php开发环境--apache

安装homebrew

注:在homebrew安装的软件安装包存在/Users/liuende/Library/Caches/Homebrew/

ruby -e "$(curl -fsSLhttps://raw.github.com/mxcl/homebrew/go)"

安装php70

注:如果web服务器是apache则加上–with–apache会在编译的时候输出libphp7.so,然后在httpd.conf中加载,路径为/usr/local/opt/php70/libexec/apache2/libphp7.so

brew install php70 --with--apache
  • 安装路径为/usr/local/Cellar/php70
  • 由于mac自带apache,在这一步安装php70时也会下载apache,在mac中名字为httpd,回覆盖自带的apache,所以结束安装php70后,卸载httpd;
brew list
brew uninstall httpd*
  • 查看php70信息
    同时可以查看httpd.conf加载php7模块的配置
brew info php70

安装apache

注:mac自带apache,配置文件目录为/etc/apache2/httpd.conf,服务器目录/Library/Webserver/Documents

服务操作

sudo apachectl start/stop/restart
curl -I 127.0.0.1:80//查看服务是否打开

修改配置,加载php模块

vim /etc/apache2/httpd.conf

加入下述代码:

LoadModule php7_module    /usr/local/opt/php70/libexec/apache2/libphp7.so

    
        SetHandler application/x-httpd-php
    

测试服务

vim /Library/WebServer/Documents/index.php

粘贴如下代码

<html><body><h1>

phpinfo();
?>
h1>body>html>

浏览器访问127.0.0.1/index.php显示phpinfo信息则配置正确

常见问题

httpd: Could not reliably determine the server’s fully qualified domain name, using liuendedeMacBook-Pro.local. Set the ‘ServerName’ directive globally to suppress this message

解决方法:
将httpd.conf中ServerName的注释去掉,改为127.0.0.1:80

安装phpMyadmin

下载地址

  • 解压重命名为phpMyadim复制到/Library/WebServer/Documents/
  • config.sample.inc.php,并命名为config.inc.php
  • 浏览器访问127.0.0.1/phpMyadmin如果显示数据库登录界面则成功

常见问题

You don’t have permission to access /phpMyadmin/ on this server.

解决方法:在httpd.conf中增加DirectoryIndex index.php

安装mysql

brew install mysql

配置初始设置

mysql_secure_installation

卸载mysql

由官网下载的dmg安装的mysql

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
#edit /etc/hostconfig and remove the line MYSQLCOM=-YES-

brew安装的mysql

brew uninstall mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist //如果存在文件的话
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist //如果存在的话
sudo rm -rf /usr/local/var/mysql//删除数据库文件

安装yaf

注:利用brew安装yaf未成功,后来手动安装

  • 下载地址
  • 安装配置

注:yafPATH为解压包路径,PHP_BIN为php的bin路径,mac的brew安装其路径为/usr/local/Cellar/php70/7.0.12_5/bin/

cd $yafPATH
$PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install
  • 根据安装提示获取yaf.so路径
    注:本机路径为/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so
  • 在php.ini中增加一行
extension=/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so

出现错误如下:

Module ‘yaf’ already loaded in Unknown on line 0

查看其它的扩展:

php -m

发现在php.ini中都没有声明,所以考虑其加载方式不限于php.ini.
后来发现路径/usr/local/etc/php/7.0/conf.d下存在文件ext-yaf.ini,修改文件路径/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so,同时在php.ini中注释到原来的添加的,就不报错了
- 测试
在浏览器中打开index.php,搜索yaf模块,如果存在,则成功;

安装xdebug

选择php对应的版本
- 下载地址
注:debugPATH为解压包路径,PHP_BIN为php的bin路径,mac的brew安装其路径为/usr/local/Cellar/php70/7.0.12_5/bin/

cd $debugPATH
$PHP_BIN/phpize
./configure --enable-xdebug 
make
make install


  • 根据安装提示获取xdebug.so路径
    注:本机路径为/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/xdebug.so
  • 在php.ini中增加下述代码

其中xdebug.remote_enable = on必须的剩下的根据实际情况
zend_extension=/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/xdebug.so
;是否开启自动跟踪
;xdebug.auto_trace= On
;是否开启异常跟踪
xdebug.show_exception_trace= On
;是否开启远程调试
xdebug.remote_enable = on
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars= On
;是否收集返回值
xdebug.collect_return= On
;是否收集参数
xdebug.collect_params= On
;是否开启调试内容
;xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir ="~/Document/myphp/xdebug/profiler"
;跟踪输出路径
xdebug.trace_output_dir="~/Document/myphp/xdebug/trace"
;显示局部变量
;xdebug.show_local_vars=On

在phpStorm自动补全yaf命令

信息网址
利用类生成器生成IDE自动完成提示的用Yaf的所有类的签名的PHP文件的脚本,然后在phpStorm中导入

你可能感兴趣的:(mac使用)