Mac 下搭建laravel的坑

最近在搞laravel,由于入手了MacBook,所以打算在MacBook下搭建環境開發,結果遇到了各種大坑,神坑。如何使用laravel去開發就不贅述了。

  1. 首先我跪在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了,瞬間得到答案參考二樓說的話

  2. 第二個坑
    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

  3. 第三個坑
    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終于正常啟動了。

  4. 接下來打開localhost,發現頁面全部空白。。。。。。。
    百度之,發現要給storage 777權限,于是給之。終于!
    又來一個問題!!!

    Paste_Image.png

    這個問題的原因,是因為laravel需要依賴PHP的mcrypt擴展,只要開啟了就可以了
    參考此篇文章

  5. 再來一個坑,提示
    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,所以你也要搞一份出來。╮(╯▽╰)╭,問題解決了就是舒暢

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容