win2003 iis整合php環境變數無法讀取

2022-03-14 03:08:23 字數 2332 閱讀 5040

一般情況下,都能實現顯示phpinfo()的頁面。就從能夠顯示該頁面之後出現的問題說起。

php的問題都會顯示在phpinfo()頁面上。

首先檢視自己的php.ini的路徑是否正確。

q:我已經配置了php.ini檔案,但重新啟動伺服器後為什麼沒有任何效果?

a:這個問題主要有這幾種情況。

第乙個原因是由於系統所讀取的php.ini檔案與你當時修改的php.ini檔案不一致造成的

1、 可以通過phpinfo()的configuration file (php.ini) path選項檢視當前php伺服器讀取的是哪乙個php.ini

2、 如果你要更改php.ini的檔案訪問位置,可參考php.ini的搜尋順序,如下所示:

a)       sapi 模組所指定的位置(apache 2 中的 phpinidir 指令,cgi 和 cli 中的 -c 命令列選項,nsapi 中的 php_ini 引數,thttpd 中的 php_ini_path 環境變數)

b)       hkey_local_machine\software\php\inifilepath(windows 登錄檔位置)

c)      phprc 環境變數

d)       當前工作目錄(對於 cli)

e)       web 伺服器目錄(對於 sapi 模組)或 php 所在目錄(windows 下其它情況)

f)       windows 目錄(c:\windows 或 c:\winnt),或 --with-config-file-path 編譯時選項指定的位置

3、 一般做法:通過設定phprc 環境變數,

a)       操作:右擊我的電腦->屬性->高階->環境變數

b)       在系統變數下新建乙個「變數名為phprc   ,變數值為你的php.ini檔案所地檔案路徑」的環境變數

第二個原因是:php沒有找到相應的擴充套件庫

1、 檢視php找到的擴充套件庫位置:在phpinfo()的extension_dir選項可以看到

2、 在php.ini更改extension_dir檔案

第三個原因:沒有完全重啟iis

1、 對php.ini的修改必須完全重啟iis才能起作用,而不能只是對當前站點進行重啟。

2、 進入cmd,停止伺服器:net stop iisadmin;啟動伺服器:net start w3svc

q:我的php怎麼沒有辦法啟用mysql擴充套件庫

a:在php5.0以上版本,mysql 預設未啟用,因此需要咱們進行手工啟用。

1、 在php執行mysql,必須在 php.ini 中啟用 php_mysql.dll 動態連線庫,另外還需要訪問 mysql 客戶端連線庫即libmysql.dll檔案

2、 可以通過php.ini中的extension啟用 php_mysql.dll 動態連線庫;而libmysql.dll檔案必須放在windows 的系統路徑 path才能訪問,可以通過把libmysql.dll複製到system32目錄下,也可以在path環境變數中新增乙個路徑。

3、 建議做法:通過設定path,方便以後的php公升級,在系統環境變數中的path後增加「libmysql.dll」所在的資料夾即可。記得通過「;」號隔開

4、 [案例]最近,伺服器總是找不到mysql擴充套件庫,導致程式無法執行。因此,把所有檔案刪除後重新配置php伺服器。但最後在安裝mysql的時候,卻始終無法啟用mysql擴充套件庫。

在phpinfo()中找到的資訊如下:

path:c:\php

phprc:c:\php

extension_dir:c:\php\ext\

另外,我測試了將其它的庫啟用,如msql、gd2、xml,在phpinfo()都可以正常顯示

證明php能找到php_mysql.dll 動態連線庫,而mysql的執行的另乙個條件是能夠訊問mysql 客戶端連線庫即libmysql.dll檔案,看來問題就在這裡了。

我對c盤搜尋libmysql.dll檔案,發現在system32和php資料夾各有乙個檔案,做好備份後,我嘗試刪除system32的libmysql.dll檔案,發現被鎖死,無法刪除,卻可以重新命名,我隨便修改了名稱,再重新啟動iis,伺服器執行正常。

補充一點:如果configuration file (php.ini) path 顯示為c:\windows

就說明,php.ini檔案沒有讀取到。

另外,我發現,在用iis整合php時,有兩種方式:isapi與cgi模式

這兩種方式,我們都可以看到phpinfo頁面

但是使用isapi模式,無法讀取環境變數,所以通過環境變數phprc設定的php.ini路徑無法找到。

使用cgi就可以,這樣就不必把好多檔案拷到系統檔案下。

遠端分析win2003 IIS安全設定

提起微軟公司iis web伺服器的安全問題,很多人立刻就會聯想到那些為人們所稱頌的致命漏洞 unicode cgi 解析,ida,idq,printer遠端溢位等.這些偉大的漏洞恐怕是我等scriptskidding的最愛了,利用他們可以很輕鬆的拿到較高的系統許可權。但是這篇文章並非是討論這些致命的...

討厭的win2003 iis靜態頁快取,未解決

win2000下程式執行正常,系統公升級到win2003出現靜態頁重新整理不了,清客戶端快取 伺服器客戶端快取,都不管用,用了上回cpu100 的bat後,可以重新生成,但生成一次還是老樣子,呵呵 想了個法加隨機數字,在請求asp的 上,管用。在檔案太多,不想使用這種方法,找別方方法 randomi...

php 在win2003, iis6 上安裝

1.不用5.3版本及以上。因為強制fastcgi,fastcgi需要安裝.net2.0 2.無需安裝zend,5.2.17已經包含。對php.ini的修改必須完全重啟iis才能起作用,而不能只是對當前站點進行重啟。進入cmd,停止伺服器 net stop iisadmin 啟動伺服器 net sta...