最近在搞laravel,由于入手了MacBook,所以打算在MacBook下搭建環境開發,結果遇到了各種大坑,神坑。如何使用laravel去開發就不贅述了。
首先我跪在composer的安裝下,后來參考了此篇文章,還有composer中國的,具體自己百度吧,不難。
然后有一個問題,它居然提示
Missing PHP53 or PHP54 from homebrew-php. Please install one or the other before continuing Error: An unsatisfied requirement failed this build.
但是我覺得不可能啊,不是Mac會自帶php的嗎?于是
php -v
php 5.5無誤啊!為何!!!
百度了好久,全部是廢話,于是Google了,瞬間得到答案參考二樓說的話第二個坑
Composer could not find a composer.json file in /root To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section
天吶,我我怎么運氣那么不好,于是我又搜搜搜搜搜,終于找到答案了,原因就是composer的版本低,只要升級一下版本就好了
composer self-update
第三個坑
nginx的問題,個人比較喜歡nginx,brew安裝完nginx之后訪問localhost:8080,可以正常訪問,welcome nginx。于是配了80端口。
這里有一個權限問題請注意,啟動nginx,要
sudo nginx
百度一下就知道了,1024以下的端口都需要root訪問權限
然后就又來一個坑了,配到80之后,一直沒辦法使用,Nginx一直提示502。于是又配了日志,日志提示如下
2794#0: *1 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
聯想到有可能是php-fpm的問題,于是嘗試啟動php-fpm,居然不行!干,于是又搜搜搜,原來是沒有配好php-fpm.conf導致。于是
$cd /private/etc $ls
你可以看到存在php-fpm.conf.default
文件,于是你把這份文件復制一份出來就好了
sudo cp php-fpm.conf.default php-fpm.conf
本以為到此爬坑之旅就結束了
又來了一個錯誤
[17-Apr-2015 17:56:15] ERROR: failed to open error_log (/usr/var/-1): No such file or directory (2) [17-Apr-2015 17:56:15] ERROR: failed to post process the configuration [17-Apr-2015 17:56:15] ERROR: FPM initialization failed
從字面上的意思,肯定是日志配置除了問題,于是又看了看文件的位置,配了如下兩項
[global] error_log = log/php-fpm.log#這里寫你要存放日志的路徑,你可以使用默認路徑 [www] catch_workers_output = yes
php-fpm終于正常啟動了。-
接下來打開localhost,發現頁面全部空白。。。。。。。
百度之,發現要給storage 777權限,于是給之。終于!
又來一個問題!!!
Paste_Image.png
這個問題的原因,是因為laravel需要依賴PHP的mcrypt擴展,只要開啟了就可以了
參考此篇文章 再來一個坑,提示
SQLSTATE[HY000] [2002] No such file or directory
解決方案如下
bogon:mylaravel lvweichong$ sudo find / -name mysql.sock Password: find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory /private/tmp/mysql.sock bogon:mylaravel lvweichong$ ll /var/mysql -bash: ll: command not found bogon:mylaravel lvweichong$ ls /var/mysql ls: /var/mysql: No such file or directory bogon:mylaravel lvweichong$ sudo mkdir /var/mysql bogon:mylaravel lvweichong$ sudo ln -s /private/tmp/mysql.sock /var/mysql/mysql.sock bogon:mylaravel lvweichong$ ls /var/mysql/ mysql.sock
爬坑之旅結束。
傷心:逗比的自己,修改php.ini你要重啟的是php-fpm,不是nginx!
附上mac下php-fpm重啟的命令pgrep php-fpm |xargs sudo kill -USR2
備注:php.ini,mac自帶的也是php.ini.default,所以你也要搞一份出來。╮(╯▽╰)╭,問題解決了就是舒暢