我的位置: 首頁 > 學習專區 > PHP技術 > win2003 iis整合PHP后 環境變量無法讀取到

win2003 iis整合PHP后 環境變量無法讀取到

2013-04-24 09:39:29
來源:
[導讀] 一般情況下,都能實現顯示phpinfo()的頁面。就從能夠顯示該頁面之后出現的問題說起。php的問題都會顯示在phpinfo()頁面上。首先查看自
    一般情況下,都能實現顯示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就可以,這樣就不必把好多文件拷到系統文件下。
深圳北大青鳥嘉華校區

評論
熱點專題
>>
相關文章推薦
>>
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
三级网站在在线观看视频 | 亚洲国产午夜精品不卡 | 三级网站视频在在线播放 | 亚洲欧洲日产中文字幕 | 午夜福利H动漫在线播放 | 亚洲福利一区二区 |