zend 錯誤日志中有:Unable to view file mapping, 試圖訪問無效的地址。網上搜了下解決方法有
解決方法如下:
對比php兩個版本的php.ini文件。
;extension=php_yaz.dll
;extension=php_zip.dll檢查這個兩個是否存在新的版本中。同時確認extension=php_zip.dll前面的;去掉保存重啟iis和mysql 大功告成 另外一種說法eAccelerator v0.9.4-rc1, 這個php加速插件,把這個屏蔽掉就可以了 其他方面:
1.檢查下c:/windows/temp/目錄是否有iis用戶組和NETWORK_SERVICE訪問權限
2.zend安裝目錄是否有iis用戶組和NETWORK_SERVICE訪問權限,寫入權限.3.刪除c:/WINDOWS/temp/ 下的垃圾文件.4.php.ini文件中設置upload_tmp_dir="c:/windows/temp/"(注意=兩邊的空格)5.還有一條就是找不到ZendOptimizer.MemoryBase@SYSTEM文件吧,方法同上面,在c:/WINDOWS/temp/建一空文件,文件名ZendOptimizer.MemoryBase@SYSTEM即可==================================================================================
查看“事件查看器”中出現一個Zend Optimizer錯誤,而且這個錯誤都是每次啟動服務器之后產生的:事件類型: 錯誤事件來源: Zend Optimizer事件種類: 無事件 ID: 487日期: 2008-2-28事件: 9:22:15用戶: N/A計算機: XXX描述:事件 ID ( 487 )的描述(在資源( Zend Optimizer )中)無法找到。本地計算機可能沒有必要的注冊信息或消息 DLL 文件來從遠程計算機顯示消息。您可能可以使用/AUXSOURCE= 標識來檢索詞描述;查看幫助和支持以了解詳細信息。下列信息是事件的一部分: Unable to view file mapping, 試圖訪問無效的地址。查閱了一下網上的資料,其實只有一個版本,具體內容可以看下面的參考資料。我這里結合自己的解決方法總結一下:首先如果你的PHP使用了eAccelerator則將其注釋掉就可以了,這是因為Zend Optimizer同eAccelerator相沖突。其實二者都是用于加速PHP程序的,只要使用其中的一個就可以了。如果你的PHP沒有使用eAccelerator的話則大部分是權限的問題了,這種情況在Apache+PHP中很少見,通常都是在IIS+PHP這種搭配中出現的比較多。這個時候只需要修改%SystemRoot%/Temp的權限,設置為EveryOne全部允許;然后如果該目錄下沒有文件的話就手動新建一個文本文件然后命名為即可。如果還是有問題的話可以查看一下php下的ext目錄中是否有php_yaz.dll和php_zip.dll兩個文件,有哪一個就在php.ini將 “extension=…”前面的分號去掉。================================================================================
前兩天在本地調試PHP程序時,發現安裝的VertrigoServ中,ZendOptimizer運行不正常,在C盤根目錄下生成了個ZendOptimizer_errors文件,最主要的問題是下面兩個:
復制代碼 代碼如下:Unable to open base address file:系統找不到指定的路徑。Unable to view file mapping:重疊 I/O 操作在進行中。 下面分享我的問題核心:出現這樣的問題,一般是緩存目錄指定錯誤所導致的!步驟方法:右擊我的電腦 - 屬性 - 高級 - 環境變量 - 將用戶配置里的TEMP與TMP的路徑指定為系統變量里的TEMP與TMP的路徑值:如%SystemRoot%/TEMP或者其他路徑確定路徑,如D:/Temp這個路徑確定,重啟電腦。再次運行php服務器程序,C盤根目錄下再不出現ZendOptimizer_errors.txt報告,報告里也不會出現上面的兩個錯誤了,設置好的路徑目錄下自動生成了等這兩個文件。問題解決!
2009年5月23日補充解決辦法:
1、修改C:/WINDOWS/Temp/目錄的訪問權限,使Zend可以對目錄進行修改,一般添加IIS_WPG和Network Service的寫入權限就夠了。
新聞熱點
疑難解答