當前位置:首頁 » 編程語言 » php5nginx

php5nginx

發布時間: 2023-02-10 08:11:50

⑴ nginx下如何安裝php

進入php源程序目錄中的ext目錄中,這里存放著各個擴展模塊的源代碼,選擇你需要的模塊,比如curl模塊:cd
curl
執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
運行時,可能會報錯:Cannot
find
autoconf.
Please
check
your
autoconf
installation
and
the
$PHP_AUTOCONF
environment
variable
is
set
correctly
and
then
rerun
this
script.,需要安裝autoconf:
yum
install
autoconf(RedHat或者CentOS)、apt-get
install
autoconf(Ubuntu
Linux)
/usr/local/php5/bin/php
-v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,
這里會報錯,可以根據錯誤信息去排查!

⑵ 如何搭建Nginx+PHP環境

1、首先需要准備的應用程序包。

nginx:nginx/Windows-1.0.4

php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,所以我們下載非線程安全也就是nts的php包)

(還會用到)RunHiddenConsole:RunHiddenConsole.zip

2、安裝與配置。

1)php的安裝與配置。

直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這里把解壓出來的文件夾重命名成php5。進入文件夾修改php.ini-recommended文件為php.ini,並用Editplus或者Notepad++打開來。找到

extension_dir = "./ext"
更改為

extension_dir = "D:/wnmp/php5/ext"
往下看,再找到
;extension=php_mysql.dll
;extension=php_mysqli.dll
前面指定了php的ext路徑後,只要把需要的擴展包前面所對應的「;」去掉,就可以了。這里打開php_mysql.dll和php_mysqli.dll,讓php支持mysql。當然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件復制到C:\Windows目錄下,也可以在系統變數裡面指定路徑,當然這里我選擇了更為方便的方法^_^。

到這里,php已經可以支持mysql了。

接下來我們來配置php,讓php能夠與nginx結合。找到

;cgi.fix_pathinfo=1
我們去掉這里的封號。

cgi.fix_pathinfo=1
這一步非常重要,這里是php的CGI的設置。
2)nginx的安裝與配置。

把下載好的nginx-1.0.4的包同樣解壓到D盤的wnmp目錄下,並重命名為nginx。接下來,我們來配置nginx,讓它能夠和php協同工作。進入nginx的conf目錄,打開nginx的配置文件nginx.conf,找到

location / {
root html;#這里是站點的根目錄
index index.html index.htm;
}
將root html;改為root D:/wnmp/www;

再往下,找到

復制代碼
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
復制代碼
先將前面的「#」去掉,同樣將root html;改為root D:/wnmp/www;。再把標記為紅色的/scripts改為「$document_root」,這里的「$document_root」就是指前面「root」所指的站點路徑,這是改完後的:

復制代碼
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root D:/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
復制代碼
保存配置文件,就可以了。

nginx+php的環境就初步配置好了,來跑跑看。我們可以輸入命令

來啟動php,並手動啟動nginx,當然也可以利用腳本來實現。

首先把下載好的RunHiddenConsole.zip包解壓到nginx目錄內,RunHiddenConsole.exe的作用是在執行完命令行腳本後可以自動關閉腳本,而從腳本中開啟的進程不被關閉。然後來創建腳本,命名為「start_nginx.bat」,我們在Notepad++里來編輯它

復制代碼
@echo off
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5

REM 每個進程處理的最大請求數,或設置為 Windows 環境變數
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini

echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
復制代碼
再另外創建一個名為stop_nginx.bat的腳本用來關閉nginx

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
做好後,是這樣的

這樣,我們的服務腳本也都創建完畢了。雙擊start_nginx.bat看看進程管理器是不是有兩個nginx.exe的進程和一個php-cgi.exe的進程呢?

這樣nginx服務就啟動了,而且php也以fastCGI的方式運行了。

到站點目錄下,新建一個phpinfo.php的文件,在裡面編輯

<?php
phpinfo();
?>
保存後,打開瀏覽器輸入「http://localhost/phpinfo.php」,如果看到

就說明,nginx+php的環境已經配置好了,呵呵~

⑶ Thinkphp5項目在nginx伺服器部署

1,切換到nginx的配置目錄,找到nginx.conf文件

    cd   /usr/local/nginx/conf

    vim  nginx.conf

2,如果是單項目部署的話,只需要在nginx.conf文件裡面加上以下

server{

        listen 80;

        # 域名,本地測試可以使用127.0.0.1或localhost

        server_name www.zhangc.cn;

        # php項目根目錄

        root /home/data-www/blog;

        location /{

                # 定義首頁索引文件的名稱

                index index.php index.html index.htm;

                # 影藏入口文件

                if (-f $request_filename/index.html){

                            rewrite (.*) $1/index.html break;

                }

                if (-f $request_filename/index.php){

                            rewrite (.*) $1/index.php;

                }

                if (!-f $request_filename){

                            rewrite (.*) /index.php;

                }

                try_files $uri $uri/ /index.php?$query_string;

        }

        # PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI協議默認配置.

        # Fastcgi伺服器和程序(PHP)溝通的協議

        .location ~ .*\.php${

                # 設置監聽埠

                fastcgi_pass 127.0.0.1:9000;

                # 設置nginx的默認首頁文件

                fastcgi_index index.php;

                # 設置腳本文件請求的路徑

                fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

                # 引入fastcgi的配置文件

                include fastcgi_params;

                fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                set $path_info $fastcgi_path_info;

                fastcgi_param PATH_INFO $path_info;

                try_files $fastcgi_script_name =404;

        }

}

3,如果多項目部署,就需要配置vhost

第一步:編輯nginx.conf文件,在最後加上     include    vhost/*.conf;

第二步:進入vhost文件夾,創建    域名.conf    文件,如創建一個:quanma.meyat.com.conf

第三步:編輯quanma.meyat.com.conf文件,內容如下:

        server

        {

                listen 80;

                server_name quanma.meyat.com;

                index index.html index.htm index.php default.html default.htm default.php;

                root /data/wwwroot/default/quanma/public/;

                #error_page 404 /404.html;

                location / {

                        index index.html index.php;

                        if (-f $request_filename/index.html){

                                rewrite (.*) $1/index.html break;

                        }

                        if (-f $request_filename/index.php){

                                rewrite (.*) $1/index.php;

                        }

                        if (!-f $request_filename){

                                rewrite (.*) /index.php;

                        }

                        try_files $uri $uri/ /index.php?$query_string;

                }

                location ~ [^/]\.php(/|$)

                {

                        # comment try_files $uri =404; to enable pathinfo

                        #try_files $uri =404;

                        fastcgi_pass 127.0.0.1:9000;

                        fastcgi_index index.php;

                        include fastcgi_params;

                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                        set $path_info $fastcgi_path_info;

                        fastcgi_param PATH_INFO $path_info;

                        try_files $fastcgi_script_name =404;

                        #include fastcgi.conf;

                        #include pathinfo.conf;

            }

            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

            {

                    expires 30d;

            }

            location ~ .*\.(js|css)?$

            {

                    expires 12h;

            }

            # Disallow access to .ht, .svn, .bzr, .git, .hg, .cvs directories

            location ~ /\.(ht|svn|bzr|git|hg|cvs) {

                    deny all;

            }

            #access_log /date/nginx/bmp.com.conf/access.log main;

}

⑷ Ubuntu14.04 安裝nginx+php5-fpm 後訪問php頁面空白,怎麼解決

具體看下你機子上 php-fpm 是怎樣運行的
ss --unix --all | grep php
依照上面命令的輸出修改 配置文件中對應 server {} 中的 fastcgi_pass。其實吧,你真的想要了解清楚,你可以去後盾人學習資料,那裡會給你不錯的答復

⑸ XP系統如何安裝和nginx和PHP5.3.5。

從網站下載WINDOWS版本的php壓縮包或安裝包
(如果是安裝包,可以直接安裝,則以下操作基本上可以忽略。但為了更好的安全性,建議採用壓縮包自己安裝配置有關參數)

2. 將下載的php5.0壓縮包解壓到指定位置,如為C:\PHP5

3. 在c:\php5文件夾中,用記事本打開文件php.ini-dist,修改如下內容後「另存為...」php.ini文件

(1)查找到safe_mode = 段落,將safe_mode = Off修改為safe_mode = On
(2)查找到expose_php = On段落,將expose_php = On修改為expose_php = Off
(3)查找到display_errors = On段落,將display_errors = On修改為display_errors = Off
(4)查找到extension_dir = 段落,設置動態庫擴展的路徑,如extension_dir = c:\php5\ext
(5)查找到 ; cgi.force_redirect = 1段落,修改為 cgi.force_redirect = 0

提示:(4)和(5)是必須做的。記著要另存為php.ini

4. 將編輯好的php.ini文件剪切到Windows安裝文件夾下(如:C:\Winnt 或 C:\Windows)

5. 在IIS中,選擇要使用PHP的站點,右鍵菜單中選擇「屬性」,選擇「主目錄」標簽,在該界面中點「配置」,添加或重新編輯php擴展的「應用程序擴展名映射」,可執行文件選擇為C:\php5\php5isapi.dll,擴展名為php,確定應用後退出IIS配置

6. 停止IIS的WEB站點,並重新啟動該站點。

提示:如果是Windows 2003,應增加WEB擴展,將PHP置為允許

⑹ 如何在nginx安裝thinkphp5並且開啟路由

上面的回答純屬搞笑!安裝thinkphp就不說了,自己去官網找
由於nginx不支持pathinfo,導致TP5用路由訪問時會報404。
解決辦法,找到nginx下虛擬主機的配置文件,一般是在/usr/ local/ nginx/ conf/ vhost/ 域名.conf
在中間加上一段代碼
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}

⑺ 本地Apache PHP5 配置,上傳空間是Nginx,本地電腦生成的偽靜態文件上傳到Nginx伺服器上能正常訪問嗎

不太可能會正常訪問。apache 和 nginx 都是提供一種外部訪問的軟體,一般是只能開一個的,要麼是apache,要麼是nginx,當然,我沒有進行過測試,具體的效果還需要樓主詳細的進行測試。
另,如果訪問的話,nginx是一定要開著的,這個一定要注意,要不然很可能開著apache,結果把nginx給關了!

無論是apache還是nginx都是可以正常訪問的,偽靜態的網站沒有太大的特殊性,只需要把偽靜態配置好就沒有問題,你可以找伺服器的提供商問問需不需要單獨配置偽靜態,這樣就可以了!

⑻ Ubuntu14.04 安裝nginx+php5-fpm 後訪問php頁面空白,怎麼解決

先看位置對不對,可能nginx解析的地址不對
再看日誌
我估計,你是nginx配置錯了!
測試方法
比如再你訪問的頁面裡面隨便寫點東西 不過要確定不是404 如果是404 你還是乖乖去看下nginx配置到哪了。。。。
要注意nginx的訪問許可權

⑼ nginx php5 什麼也不輸出

1.修改php-fpm.conf中配置 沒有則增加
catch_workers_output = yes
error_log = log/error_log

2.修改php.ini中配置,沒有則增加
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE

3.重啟php-fpm,
當PHP執行錯誤時就能看到錯誤日誌在"/usr/local/lnmp/php/var/log/error_log"中了

請注意:

1. php-fpm.conf 中的php_admin_value[error_log] 參數 會覆蓋php.ini中的 error_log 參數
所以確保你在phpinfo()中看到的最終error_log文件具有可寫許可權並且沒有設置php_admin_value[error_log] 參數,否則錯誤日誌會輸出到php-fpm的錯誤日誌里。

2.找不到php.ini位置,使用php的phpinfo()結果查看

3.如何修改PHP錯誤日誌不輸出到頁面或屏幕上
修改php.ini
display_errors = off //不顯示錯誤信息(不輸出到頁面或屏幕上)
log_errors = on //記錄錯誤信息(保存到日誌文件中)
error_reporting = E_ALL //捕獲所有錯誤信息
error_log = //設置日誌文件名

程序中修改以上配置
ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //這個值好像是個PHP的常量
ini_set("error_log","<日誌文件名>")
ini_set("log_errors",1);

4.如何將php的錯誤日誌輸出到nginx的錯誤日誌里
在PHP 5.3.8及之前的版本中,通過FastCGI運行的PHP,在用戶訪問時出現錯誤,會首先寫入到PHP的errorlog中
如果PHP的errorlog無法寫入,則會將錯誤內容返回給FastCGI介面,然後nginx在收到FastCGI的錯誤返回後記錄到了nginx的errorlog中
在PHP 5.3.9及之後的版本中,出現錯誤後PHP只嘗試寫入PHP的errorlog中,如果失敗則不會再返回到FastCGI了,錯誤日誌會輸出到php-fpm的錯誤日誌里。
所以如果想把php錯誤日誌輸出到nginx錯誤日誌,需要使用php5.3.8之前的版本,並且配置文件中php的error_log對於php worker進程不可寫

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:751
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876