• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 298  文章 - 377  trackbacks - 0
            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊(cè)

            收藏夾

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Mac OS X 10.9已經(jīng)自帶有php-fpm,對(duì)于有干凈系統(tǒng)強(qiáng)迫癥的人,或者原裝控來(lái)說(shuō),用brewhome重裝一遍總感覺(jué)心里會(huì)有小兔子,下面把原裝的php-fpm配置起來(lái)。


            直接運(yùn)行,有報(bào)錯(cuò)找不到配置文件。

            $ php-fpm

            [11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)

            [11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'

            [11-Jan-2014 16:03:03] ERROR: FPM initialization failed

            可以在/private/etc/ 目錄下生成配置文件,需要root權(quán)限(sudo)

            或者在普通用戶有權(quán)限的目錄里放置配置文件,通過(guò)--fpm-config參數(shù)指定配置文件的位置,如下:

            # cp /private/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf


            $ php-fpm --fpm-config /usr/local/etc/php-fpm.conf

            [11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

            [11-Jan-2014 16:10:49] ERROR: failed to post process the configuration

            [11-Jan-2014 16:10:49] ERROR: FPM initialization failed

            錯(cuò)誤信息顯示:不能正確的打開(kāi)”日志“文件,原因是默認(rèn)在/usr/var目錄下工作,可以修改配置文件指定正確的日志文件路徑


            $ vim /usr/local/etc/php-fpm.conf

            修改php-fpm.conf文件中的error_log項(xiàng),默認(rèn)前綴是/usr/var ,但并沒(méi)有這個(gè)路徑

            error_log = /usr/local/var/log/php-fpm.log

            pid = /usr/local/var/run/php-fpm.pid

            或者不修改配置文件中配置項(xiàng)的路徑,在php-fpm的運(yùn)行參數(shù)中(-p)指定放置運(yùn)行時(shí)文件的相對(duì)路徑前綴


            $ php-fpm --fpm-config /usr/local/etc/php-fpm.conf  --prefix /usr/local/var

            到此,php-fpm守護(hù)進(jìn)程已經(jīng)基本可以正確的啟動(dòng)了。


            下面我們看下php.ini配置文件及擴(kuò)展的安裝。

            首先看下編譯參數(shù),有些值是編譯進(jìn)執(zhí)行程序的,無(wú)法更改。

            $ php -i|grep config

            找到配置文件(php.ini)、目錄的位置,下面兩項(xiàng)的值指定

            '--with-config-file-path=/etc'

            '--with-config-file-scan-dir=/Library/Server/Web/Config/php'

            所以我們需要在/etc目錄下創(chuàng)建php.ini,Mac在/private/etc,/etc下均提供了樣例文件php.ini.default,通過(guò)查驗(yàn),兩個(gè)文件完全相同,所以復(fù)制哪一個(gè)都無(wú)所謂,Mac有提供md5而不是Linux下的md5sum:

            $ md5 /private/etc/php.ini.default /etc/php.ini.default

            MD5 (/private/etc/php.ini.default) = 1c47241665ea5efdc55fd5809f675449

            MD5 (/etc/php.ini.default) = 1c47241665ea5efdc55fd5809f675449


            /etc目錄權(quán)限r(nóng)oot:wheel,需要root權(quán)限或使用sudo,關(guān)于如何設(shè)置Mac的sudo命令需要的密碼,請(qǐng)查看

            http://support.apple.com/kb/HT4103?viewlocale=zh_CN&locale=zh_CN

            http://support.apple.com/kb/PH6515?viewlocale=zh_CN


            # cp /etc/php.ini.default  /etc/php.ini

            變更own,以后修改不用老是切換root,生產(chǎn)環(huán)境最好不要改

            # chown <你的用戶名> /etc/php.ini

            # chmod u+w /etc/php.ini


            安裝PHP擴(kuò)展

            /Library/Server/Web/Config/php 這個(gè)目錄并不存在,或者M(jìn)ac OS X Server版本有吧,不知道,手動(dòng)創(chuàng)建他,以root權(quán)限

            # mkdir -p /Library/Server/Web/Config/php


            編譯擴(kuò)展,brewhome是另起爐灶,brew方式安裝擴(kuò)展需要依賴php,如php54-redis會(huì)依賴php54,至于編譯出來(lái)的擴(kuò)展是否可以配置到自帶的,沒(méi)有實(shí)驗(yàn)過(guò)。下面以php_discuz擴(kuò)展(https://github.com/potterhe/php_discuz下載)為例。

            假如擴(kuò)展源碼在/Users/apple/php_discuz目錄

            $ ./configure

            $ make

            擴(kuò)展編譯后,默認(rèn)會(huì)存儲(chǔ)在 /Users/apple/php_discuz/modules/discuz.so

            將擴(kuò)展在配置文件中打開(kāi)

            $ echo "extension=/Users/apple/php_discuz/modules/discuz.so" > /Library/Server/Web/Config/php/discuz.ini


            測(cè)試驗(yàn)證

            $ php -i|grep discuz

            discuz support => enabled


            運(yùn)行用例測(cè)試

            php -f /Users/apple/php_discuz/discuz.php



            #測(cè)試php-fpm配置
            php-fpm -t
            php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -t
            #啟動(dòng)php-fpm
            php-fpm -D
            php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -D
            #關(guān)閉php-fpm
            kill -INT `cat /usr/local/var/run/php-fpm.pid`
            #重啟php-fpm
            kill -USR2 `cat /usr/local/var/run/php-fpm.pid`
            #也可以用上文提到的brew命令來(lái)重啟php-fpm,不過(guò)他官方不推薦用這個(gè)命令了
            brew services restart php55
            #還可以用這個(gè)命令來(lái)啟動(dòng)php-fpm
            launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
            

            啟動(dòng)php-fpm之后,確保它正常運(yùn)行監(jiān)聽(tīng)9000端口:

            lsof -Pni4 | grep LISTEN | grep php
            php-fpm   30907 calvin    9u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
            php-fpm   30917 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
            php-fpm   30918 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
            php-fpm   30919 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
            #正常情況,會(huì)看到上面這些進(jìn)程
            

            PHP-FPM開(kāi)機(jī)啟動(dòng):

            ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents
            launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
            

            安裝php composer

            brew install composer
            #檢查一下情況
            composer --version
            Composer version 1.0.0-alpha8 2014-01-06 18:39:59
            

            redis memcached這些軟件brew 已經(jīng)自動(dòng)依賴安裝上,如果想開(kāi)機(jī)自動(dòng)啟動(dòng),或者查看使用說(shuō)明 brew info redis即可。另外,composer的中文文檔:猛戳這里

            安裝Nginx

            brew install nginx --with-http_geoip_module
            

            Nginx啟動(dòng)關(guān)閉命令:

            #測(cè)試配置是否有語(yǔ)法錯(cuò)誤
            nginx -t
            #打開(kāi) nginx
            sudo nginx
            #重新加載配置|重啟|停止|退出 nginx
            nginx -s reload|reopen|stop|quit
            #也可以使用Mac的launchctl來(lái)啟動(dòng)|停止
            launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
            launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
            

            Nginx開(kāi)機(jī)啟動(dòng)

            ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
            launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
            

            Nginx監(jiān)聽(tīng)80端口需要root權(quán)限執(zhí)行,因此:

            sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
            sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
            posted on 2016-07-15 00:03 聶文龍 閱讀(849) 評(píng)論(0)  編輯 收藏 引用
            国产精品美女久久久久久2018| 日韩欧美亚洲综合久久影院d3| 国产99久久久国产精免费| 午夜久久久久久禁播电影| 亚洲av日韩精品久久久久久a| 久久久久人妻一区二区三区vr| 精品国产一区二区三区久久| 久久精品国产精品亚洲| 区久久AAA片69亚洲| 亚洲va中文字幕无码久久 | 久久综合88熟人妻| 国产产无码乱码精品久久鸭| 国产精品美女久久久网AV| 无码乱码观看精品久久| 国内精品久久久人妻中文字幕| 精品久久人人做人人爽综合 | 国产免费久久精品99久久| 伊色综合久久之综合久久| 99久久国产热无码精品免费| 久久九九免费高清视频| 国内精品久久人妻互换| 伊人久久亚洲综合影院| 国产精品久久久天天影视香蕉| 午夜精品久久久久久久久| 日本精品一区二区久久久| 72种姿势欧美久久久久大黄蕉| 亚洲欧美国产精品专区久久| 久久精品中文騷妇女内射| 天天综合久久一二三区| 久久精品国产精品亚洲| 亚洲国产精品一区二区久久| 亚洲精品国精品久久99热一 | 久久99国产精品99久久| 色婷婷综合久久久久中文| 天堂无码久久综合东京热| 久久一区二区三区免费| 国产精品午夜久久| 99热热久久这里只有精品68| 国产精品久久久久久| 国产精品一久久香蕉国产线看| 久久天堂AV综合合色蜜桃网|