訪問php時提示內(nèi)存位置訪問無效的解決辦法和思路分析
更新時間:2011年08月02日 10:59:21 作者:
新配置的PHP環(huán)境,或者剛做過配置改動,比如新加載的DLL擴展,訪問頁面,可能會出現(xiàn)“內(nèi)存位置訪問無效?!钡腻e誤。主要原因是DLL擴展加載失敗。
我們就需要找到是哪一個DLL文件加載出現(xiàn)了問題。排查方法是:
將php.ini中 display_startup_errors = Off 改為display_startup_errors = On 。
這是訪問php頁面,服務(wù)器上會彈出php錯誤的提示對話框,你就可以明確看到是哪一個dll文件加載失敗,有時會有多個dll文件加載失敗,需要你先分號(;)注釋掉php.ini中提示那個dll后繼續(xù)訪問如此反復排查。
把出問題的dll都用分號(;)注釋掉后,php就可以正常運行了。
如果加載失敗的dll是你必須使用的擴展庫文件,那么就要從版本是否對應(yīng)、文件是否齊全、文件是否已損壞等等方面去排查加載失敗的原因了。不同的擴展具有不同的情況,這里就無法一一羅列了,記?。核阉饕媸悄阕詈玫膸褪?,針對單個dll去搜索解決的方法吧。
另外:新版本的Windows版本PHP,在出現(xiàn)錯誤時,會將詳細的錯誤信息自動存儲到Windows系統(tǒng)的TEMP臨時目錄,文件名為:php-errors.log。在Windows2003系統(tǒng)中路徑一般是:C:\WINDOWS\Temp\php-errors.log。用記事本打開這個文件,就可以看到詳細的php錯誤記錄了。
此處往下是從網(wǎng)上轉(zhuǎn)載的內(nèi)容:
客戶一個PHP網(wǎng)站每天早上都訪問不了,提示“內(nèi)存位置訪問無效”,重啟IIS無效,要重啟服務(wù)器才能暫時正常,過一會兒又是出現(xiàn)這個“內(nèi)存位置訪問無效”的提示。
到百度上搜索了一下,找到解決方法,在此記錄一下:
打開c:\windows\php.ini文件,搜索下面的字段
extension=php_exif.dll
找到后在前面加一個;分號注釋掉
如下:
;extension=php_exif.dll
保存重啟iis再訪問一下php文件看看能否打開了,沒有出現(xiàn)內(nèi)存位置訪問無效了。
以上操作實際上是把php_exif.dll組件禁用了。如果一定要用到這個組件可以試試下面這個方法:
一、將IIS的錯誤顯示打開,未發(fā)現(xiàn)錯誤原因
二、檢查IIS擴展,ISAPI、php.ini與Mysql配置以及相應(yīng)的安裝目錄ACLs權(quán)限,均無誤。
三、回收IIS進程,錯誤仍然出現(xiàn)”內(nèi)存位置訪問無效”….
四、將php.ini中 display_startup_errors = On 打開,問題所在終于發(fā)現(xiàn)了… (注:如果將php.ini的display_startup_errors打開,如果php有錯誤出理,就會提示,而且 在事件查看器中有記錄。如果設(shè)置為display_startup_errors = Off,則不會有任何提示)
五、Warning Cannot load module ‘SQLite' because required module ‘pdo' is no loaded
六、根據(jù)以上錯誤提示,解決辦法就很簡單了,因為加載php_sqlite.dll時未加載到php_pdo.dll文件,所以運行phpinfo()函數(shù)時提示內(nèi)存 位置訪問無效。
找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分號,extension=php_sqlite.dll
然后再回收一下IIS應(yīng)用程序池進程,問題徹底解決….
將php.ini中 display_startup_errors = Off 改為display_startup_errors = On 。
這是訪問php頁面,服務(wù)器上會彈出php錯誤的提示對話框,你就可以明確看到是哪一個dll文件加載失敗,有時會有多個dll文件加載失敗,需要你先分號(;)注釋掉php.ini中提示那個dll后繼續(xù)訪問如此反復排查。
把出問題的dll都用分號(;)注釋掉后,php就可以正常運行了。
如果加載失敗的dll是你必須使用的擴展庫文件,那么就要從版本是否對應(yīng)、文件是否齊全、文件是否已損壞等等方面去排查加載失敗的原因了。不同的擴展具有不同的情況,這里就無法一一羅列了,記?。核阉饕媸悄阕詈玫膸褪?,針對單個dll去搜索解決的方法吧。
另外:新版本的Windows版本PHP,在出現(xiàn)錯誤時,會將詳細的錯誤信息自動存儲到Windows系統(tǒng)的TEMP臨時目錄,文件名為:php-errors.log。在Windows2003系統(tǒng)中路徑一般是:C:\WINDOWS\Temp\php-errors.log。用記事本打開這個文件,就可以看到詳細的php錯誤記錄了。
此處往下是從網(wǎng)上轉(zhuǎn)載的內(nèi)容:
客戶一個PHP網(wǎng)站每天早上都訪問不了,提示“內(nèi)存位置訪問無效”,重啟IIS無效,要重啟服務(wù)器才能暫時正常,過一會兒又是出現(xiàn)這個“內(nèi)存位置訪問無效”的提示。
到百度上搜索了一下,找到解決方法,在此記錄一下:
打開c:\windows\php.ini文件,搜索下面的字段
extension=php_exif.dll
找到后在前面加一個;分號注釋掉
如下:
;extension=php_exif.dll
保存重啟iis再訪問一下php文件看看能否打開了,沒有出現(xiàn)內(nèi)存位置訪問無效了。
以上操作實際上是把php_exif.dll組件禁用了。如果一定要用到這個組件可以試試下面這個方法:
一、將IIS的錯誤顯示打開,未發(fā)現(xiàn)錯誤原因
二、檢查IIS擴展,ISAPI、php.ini與Mysql配置以及相應(yīng)的安裝目錄ACLs權(quán)限,均無誤。
三、回收IIS進程,錯誤仍然出現(xiàn)”內(nèi)存位置訪問無效”….
四、將php.ini中 display_startup_errors = On 打開,問題所在終于發(fā)現(xiàn)了… (注:如果將php.ini的display_startup_errors打開,如果php有錯誤出理,就會提示,而且 在事件查看器中有記錄。如果設(shè)置為display_startup_errors = Off,則不會有任何提示)
五、Warning Cannot load module ‘SQLite' because required module ‘pdo' is no loaded
六、根據(jù)以上錯誤提示,解決辦法就很簡單了,因為加載php_sqlite.dll時未加載到php_pdo.dll文件,所以運行phpinfo()函數(shù)時提示內(nèi)存 位置訪問無效。
找到php.ini配置文件,然后去掉”;extension=php_pdo.dll”前面的分號,extension=php_sqlite.dll
然后再回收一下IIS應(yīng)用程序池進程,問題徹底解決….
您可能感興趣的文章:
- PHP 內(nèi)存緩存加速功能memcached安裝與用法
- PHP數(shù)組內(nèi)存耗用太多問題的解決方法
- 采用PHP函數(shù)memory_get_usage獲取PHP內(nèi)存清耗量的方法
- PHP中使用unset銷毀變量并內(nèi)存釋放問題
- phpExcel導出大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出錯誤的解決方法
- 關(guān)于PHP內(nèi)存溢出問題的解決方法
- 解析PHP中的內(nèi)存管理,PHP動態(tài)分配和釋放內(nèi)存
- 解析PHP中的unset究竟會不會釋放內(nèi)存
- php統(tǒng)計時間和內(nèi)存使用情況示例分享
- php出現(xiàn)內(nèi)存位置訪問無效錯誤問題解決方法
- PHP腳本內(nèi)存泄露導致Apache頻繁宕機解決方法
- PHP通過內(nèi)置函數(shù)memory_get_usage()獲取內(nèi)存使用情況
- php查詢mysql大量數(shù)據(jù)造成內(nèi)存不足的解決方法
- php實現(xiàn)讀取內(nèi)存順序號
- 解決PHP里大量數(shù)據(jù)循環(huán)時內(nèi)存耗盡的方法
- PHP內(nèi)存使用情況如何獲取
相關(guān)文章
IIS HTTP 錯誤 404.17 - Not Found 解決方法
這篇文章主要介紹了IIS出現(xiàn)Errore HTTP 404.2 - Not Found" IIS 7.5 請求的內(nèi)容似乎是腳本,因而將無法由靜態(tài)文件處理程序來處理問題的解決方法,需要的朋友可以參考下2014-05-05Windows下使用virtualenv創(chuàng)建虛擬環(huán)境的方式(兩種)
這篇文章主要介紹了Windows下使用virtualenv創(chuàng)建虛擬環(huán)境,本文通過兩種方式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10IIS調(diào)用X-Forwarded-For Header (XFF)記錄訪客真實IP的兩種方法
通過IIS發(fā)布的網(wǎng)站放到F5設(shè)備后邊,通過透明監(jiān)聽模式WAF設(shè)備過濾后,公網(wǎng)訪問者的真實IP被WAF設(shè)備IP替代,在網(wǎng)站日志看不到原來的真實IP了2021-04-04WIN10下的JDK安裝與配置環(huán)境變量的過程(詳細版)
這篇文章主要介紹了WIN10下的JDK安裝與配置環(huán)境變量的常見問題分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06阿里云上:“黑色30秒”走了,?“黑色1秒”來了,真相也許大白了
云上真是無奇不有,這兩天我們什么也沒動,“黑色30秒”招呼不打一聲就走了,而來了一位不速之客——“黑色1秒”,就寫了一篇博文,30秒就變成了1秒,看來多寫博客是硬道理2023-10-10IIS6下PHP的ISAPI和FastCGI性能比較 期待ii7
在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三種配置方式,這三種模式都可以在IIS 6.0下成功運行,下面我就講一下這三種方式配置的區(qū)別和性能上的差異。2010-03-03針對aspx木馬可以讀取iis站點信息,跨網(wǎng)站目錄的臨時解決方法
針對aspx木馬可以讀取iis站點信息,跨網(wǎng)站目錄的臨時解決方法,需要的朋友可以參考下2012-01-01