位置: 编程技术 - 正文
推荐整理分享全新Mac配置PHP开发环境教程(phpstorm配置php环境 mac os),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mac配置php开发环境,mac apache php,mac配置php开发环境,mac启动php,mac开发php用什么软件,mac启动php,mac启动php,mac启动php,内容如对您有帮助,希望把文章链接给更多的朋友!
用了一年的Mac OS X了,之前不熟悉这个系统,用的是系统自带的PHP以及DMG包安装的MySQL,时间长了,慢慢觉得MacBook的速度跟不上了,虽然关机次数不多,但是每次开机,或者唤醒电脑的时候,系统明显有一定时间的卡顿。特别表现在开机的时候。完全可以去泡一个来一桶了。因此干掉MD上的光驱,换上G的Sandisk SSD, 干掉原厂的2G 2,换上8G 2 。 速度应该是杠杠的了,至少可以再服役2年吧。趁着这次加硬盘的机会,就准备彻底重做开发环境。现在对Mac也有了一定的了解,特地记录一下本次的开发环境安装详情,给自己一个备忘,希望也可以帮助到刚接触Mac环境的同学们。本开发环境,全部基于HomeBrew安装。 主要软件版本:PHP5.5.,Nginx 1.6.0,MySQL5.6.
OS X Mavericks重新安装系统,在苹果商店下载好OS X Mavericks安装文件,然后准备一支G的USB3.0 U盘。制作 OSX Mavericks全新安装启动U盘。
插上U盘,在终端执行:
untitled 是你的u盘盘符,根据实际情况来。
看到上面的信息说明启动盘制作成功。 安装起来so easy :)
安装完成系统之后, 暂时还没有去迁移文件,由于本人喜好摄影,有大量RAW格式的原图在Aperture的照片库中,尼康D一张RAW文件有M左右,到时候迁移照片库和照片流希望不要掉坑里了。 等开发环境搞定再说了,更新OS X系统到.9.4,然后安装最新的Xcode, 以及在商店买过的软件。确定系统无问题了,进入下一步...
BrewBrew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具。 Mac 自带ruby所以安装起来很方便,同时它也会自动把git也给你装上。官方网站: < 。
安装完成之后,建议执行一下自检,brew doctor如果看到Your system is ready tobrew.那么你的brew已经可以开始使用了。
安装:自检:常用命令: (所有软件以PHP5.5为例子)
注意:brew services 相关命令最好别经常用了,提示会被移除
Oh My Zshohmyzsh & iTerm2两个神器,在Mac os x下是一定要装的. 两组配合起来使用,加上插件。简直是神一样的存在。 秒杀梅西,内马尔啊:)Oh 猛戳到官网
安装 oh my zsh
设置默认shell
查看系统支持的shell列表,Mac .9.4 自带了 zsh 5.0.2,Linux上得安装。
虽然Mac自带了zsh,如果你想要最新版的zsh,那么你用 brew install zsh安装一个最新的吧。
/usr/local/bin/zsh --version zsh 5.0.5 (x_-apple-darwin.3.0) 区别也不会很大, 默认的版本已经很新了。homebrew-cask
安装cask:
brew tap phinze/homebrew-cask && brew install brew-cask
cask常用命令:
这里谈谈cask对比Mac App Store的优势:
对常用软件支持更全面(特别是开发者),cask里面会给你一些惊喜;软件更新速度快,一般都是最新版本 Store上很久很久才会更新版本;
命令安装感觉比打开Store方便,另外Store在国内的速度也是XXOO。
iTerm2
安装iTerm2:
brew cask install iterm2 上面提过的神器组合,更多使用方法请参考[iTerm2官方文档]( 这里就不详细说明了。
安装开发常用的包&软件安装开发包升级一下系统自带的vim安装常用软件
brew cask install alfred appcleaner firefox google-chrome phpstorm sublime-text sequel-pro sketch mplayerx thunder qq Alfred 是个很不错的东西,推荐必须安装。它默认搜索目录不包含brew cask安装的软件,因此手动将`/opt/homebrew-cask`添加到Alfred的搜索目录
MySQL PHP Nginx Redis Memcache
前面做了这么多的准备工作,其实 zsh iTerm2 brew 等等这些由于篇幅以及能力有限,一时半会也讲不完,更多选择,更多欢乐,就在Googlesearch,现在才入正题。come on :)
安装MySQL
MySQL开机启动:
安装完成之后开启MySQL安全机制:
根据终端提示,输入root密码,然后依次确认一些安全选项。具体信息可以参考外国友人的这篇文章
查看一下MySQL运行情况
安装phpmyadmin安装PHP
添加brew的PHP扩展库:可以使用brew options php命令来查看安装php5.5的选项,这里我用下面的选项安装:
PHP编译过程中如果遇到configure: error: Cannot find OpenSSL's <evp.h>错误,执行xcode-select --install 重新安装一下Xcode Command Line Tools 在GitHubHomeBrew上有关于这个讨论:
_For future reference of anybody looking for Command Line Tools with Xcode 5,open up a Terminal window and type xcode-select --install. A window willappear informing you command line tools are required. Click Install and youshould be good to go_
等待PHP编译完成,开始安装PHP常用扩展,扩展安装过程中brew会自动安装依赖包,例如php-pdo-pgsql会自动装上postgresql,这里我安装以下PHP扩展:
扩展里面提一下php-phalcon 和php-swoole.一个是C语言写的PHP框架,安装来个人摸索熟悉一下,还没有真正的使用过,大致看了一下文档,感觉非常吊炸天。目前公司的项目是基于Yii2的,也看看这个框架。
另外一个swoole是国产的PHP高性能网络通信框架,貌似不错,可能在项目中会考虑用到它。
由于Mac自带了php和php-fpm,因此需要添加系统环境变量PATH来替代自带PHP版本。
测试一下效果:
修改php-fpm配置文件,vim /usr/local/etc/php/5.5/php-fpm.conf,找到pid相关大概在行,去掉注释pid = run/php-fpm.pid, 那么php-fpm的pid文件就会自动产生在/usr/local/var/run/php-fpm.pid,下面要安装的Nginx pid文件也放在这里。
启动php-fpm之后,确保它正常运行监听端口:
PHP-FPM开机启动:安装php composerredis memcached这些软件brew 已经自动依赖安装上,如果想开机自动启动,或者查看使用说明 brew info redis即可。另外,composer的中文文档:猛戳这里安装Nginx
brew install nginx --with-http_geoip_module Nginx启动关闭命令:
Nginx开机启动Nginx监听端口需要root权限执行,因此:配置nginx.conf 创建需要用到的目录:
vim /usr/local/etc/nginx/nginx.conf
输入以下内容:设置nginx php-fpm配置文件nginx虚拟主机准备工作
#创建 info.php index.html .html .html文件到 /var/www 下面
vi /var/www/info.php vi /var/www/index.html vi /var/www/.html vi /var/www/.html 创建默认虚拟主机default
vim /usr/local/etc/nginx/sites-available/default
输入:创建ssl默认虚拟主机default-ssl
vim /usr/local/etc/nginx/sites-available/default-ssl
输入:创建phpmyadmin虚拟主机
vim /usr/local/etc/nginx/sites-available/phpmyadmin 输入以下配置
设置SSL
mkdir -p /usr/local/etc/nginx/ssl openssl req -new -newkey rsa: -days -nodes -x -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt openssl req -new -newkey rsa: -days -nodes -x -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crt
创建虚拟主机软连接,开启虚拟主机
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadmin
启动|停止Nginx
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist 接下来你可以通过下面这些连接访问:
设置快捷服务控制命令
为了后面管理方便,将命令 alias 下,vim ~/.bash_aliases 输入一下内容:
alias nginx.start='launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist' alias nginx.stop='launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist' alias nginx.restart='nginx.stop && nginx.start' alias php-fpm.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php.plist" alias php-fpm.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php.plist" alias php-fpm.restart='php-fpm.stop && php-fpm.start' alias mysql.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist" alias mysql.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist" alias mysql.restart='mysql.stop && mysql.start' alias redis.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist" alias redis.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist" alias redis.restart='redis.stop && redis.start' alias memcached.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist" alias memcached.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist" alias memcached.restart='memcached.stop && memcached.start'
让快捷命令生效echo "[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases" >> ~/.bash_profile source ~/.bash_profile #创建站点目录到主目录,方便快捷访问 ln -sfv /var/www ~/htdocs 有时间会进一步整理一下,感觉有点乱,第一次在segmentfault上码字,写到一半的时候不小心滑一下触摸板,浏览器后退了,虽然有提示不要离开,点击了不离开之后,Safari白屏。 然后还特地去吐了个槽,害我白白又浪费很久来写这个博客。希望能帮助到刚刚接触Mac的同学。enjoy Mac‘s development EVN :)
参考资料:Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks using Homebrew
本文由Fish创作
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别 phpinfo()的很多部分有两个Column:LocalValue和MasterValue1.MasterValue是PHP.ini文件中的内容。2.Localvalue是当前目录中的设置,这个值会覆盖MasterValue中对应的值由
php session实现多级目录存放实现代码 当一个目录下有很多文件时,服务器的处理性能会变低,php默认的session仅仅存放在/tmp目录下,未进行分级,当有一定的访问量时,就存在性能问题了。
PHP 开发者该知道的 5 个 Composer 小技巧 Composer是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《ComposerPHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP
友情链接: 武汉网站建设