PHP訪問MySQL時出現httpd記憶體錯誤

2021-09-02 19:35:26 字數 1252 閱讀 3596

我在用php連mysql時,總是會彈出對話方塊提示httpd記憶體錯誤。使用vs除錯輸出的資訊為:

httpd.exe 中的 0x0079ac5a 處未處理的異常: 0xc0000005: 讀取位置 0x00000014 時發生訪問衝突

在解決這個問題的過程中,我碰到了乙個奇怪的現象,希望路過的高手能幫忙看一下,是什麼原因。

問題描述如下:

我是在windows xp sp3下安裝的apache http server 2.2.11,php使用的版本是5.2.8,php和apache結合使用的是loadmodule的方式,apache的httpd.conf檔案中的配置語句為

loadmodule php5_module d:/php/php5apache2_2.dll

並在後邊加上了一句 phpinidir "d:/php"。

按道理說,這麼配置了以後,apache啟動載入的時候,就會到phpinidir指定的路徑去尋找php.ini。apache啟動一切正常,我執行了乙個php的探針頁面,也都能正常顯示。但phpinfo()顯示的資訊,卻是這樣的

configuration file (php.ini) path  c:\windows  

loaded configuration file  d:\php\php.ini  

php配置檔案的路徑顯示的竟然是c:\windows,但實際讀取的配置檔案卻是對的,就是phpinidir設定的路徑下的。我試著在登錄檔中新增hkey_local_machine\software\php\inifilepath,指定路徑為d:\php,但phpinfo()裡面顯示的路徑還是c:\windos。新增環境變數phprc,結果還是一樣的。

phpinfo()中顯示的路徑雖然不是我設定的那個,但一般的php頁面還都是可以正常執行的,這說明php.ini是正確載入的。但在php中使用mysql_connect這一類方法訪問mysql資料庫時,卻總是彈出httpd的內錯錯誤。我把php安裝目錄下的libmysql.dll和php5ts.dll兩個dll檔案拷貝到c:\windos目錄下後,記憶體錯誤的問題就沒有了。看樣子是apache或php在configuration file (php.ini) path指定的路徑中找不到那兩個庫檔案,造成出現記憶體錯誤。

我想請問各位高手,configuration file (php.ini) path的路徑怎麼設定?為什麼我做了那些配置以後,這個值還是c:\windows,而且還能正確的從d:\php中載入php.ini。這個記憶體錯誤的問題雖然已經臨時解決了,但我還是希望有高手能指導一下,為什麼會出現這樣的情況。。

Spring MVC 訪問時出現400錯誤

這些天在搭建springmvc環境,在使用中遇到了多次bad request的連線,下面來總結下.1.引數型別不對,如後台實體類的屬性為int,但傳來的引數為字串 2.因為我的粗心,本來是要通過ajax獲得乙個json串,但是後台的方法在返回值型別前沒有加 requestbody註解 3.傳遞的引數...

訪問工程專案時,Extjs出現「拒絕訪問」

關於在ie中使用extjs出現 拒絕訪問 的問題 近段時間專案登陸的時候出現以下問題 第一次用url http localhost 8080 mainstart.bs 登陸系統,正常 關閉瀏覽器用url 登陸系統,其中 192.168.0.11 是本機的ip位址,出現 ext base.js,拒絕訪...

解決問題 測試php連線mysql時出現的系列問題

最近配置了php apache mysql,今晚做連線測試 此測試不用資料庫 測試 username root password 你的密碼 hostname localhost connection to the database dbhandle mysqli connect hostname u...