欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP has encountered an Access Violation at XXXXXX  的解決方法

 更新時間:2007年05月23日 00:00:00   投稿:mdxy-dxy  
PHP has encountered an Access Violation at XXXXXX 很多人說,是php版本的問題,更新到高點的PHP能解決,你可以試試,如果還不行

排錯方法:

最好先查看系統(tǒng)日志文件,我們從日志中就可以發(fā)現(xiàn)很多問題。

我們就是因為數(shù)據(jù)庫表出錯,修復(fù)一下就可以了,重啟下iis或重啟下服務(wù)器試試。

有客戶反映在美國VPS中出現(xiàn)該錯誤:PHP has encountered an Access Violation at *

根據(jù)錯誤提示,可以用以下辦法解決:

1、重啟IIS,重啟VPS主機(jī)即可。

2、關(guān)閉eaccelerator擴(kuò)展
找到php.ini
如果是我?guī)湍渲玫?,一般在c:/windows/php.ini

去掉

zend_extension_ts="C:\php\extensions\eaccelerator_win_xxx.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="c:\temp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

3、session_save_path 需要設(shè)定一個實際的物理路徑,并且該目錄需要everyone的所有權(quán)限,類似U主機(jī)的0777

4、您的內(nèi)存嚴(yán)重不足

5、ZendOptimizer和php的搭配不是很好,換個版本試試看

6、這種多屬于用win2003的用戶,他們在應(yīng)用池中設(shè)定了限制,比如多長時間回收,最大使用內(nèi)存多少等等

技術(shù)部門推薦,重啟IIS即可,因為這個錯誤出現(xiàn)的幾率非常低。

以下是補充一:

打開網(wǎng)頁發(fā)下如下錯誤:PHP has encountered an Access Violation at
  當(dāng)網(wǎng)站出現(xiàn)這個錯誤時候,首先要檢查一下你的網(wǎng)站具體的錯誤原因??赡芊祷氐耐粋€錯誤但是出現(xiàn)的原因可能是不一樣的。比如感冒其實分很多種的哈!只有找到錯誤的原因才能更好更快的解決錯誤。
  登陸你服務(wù)器打開系統(tǒng)日志。即在命令行中輸入eventvwr在彈出的對話框中點擊系統(tǒng)我在里面發(fā)現(xiàn)這個網(wǎng)站有一下錯誤提示:

看到這個錯誤錯誤的原因可以斷定是:用戶在更改過匿名用戶訪問后出現(xiàn)的。
  處理辦法:
  1、重新建一個網(wǎng)站把主目錄的路徑指向原文件的目錄。
  1、右鍵網(wǎng)站--屬性--目錄安全性--身份驗證和訪問控制--編輯在用戶和密碼中輸入正確的用戶名密碼。
  刷新網(wǎng)址一切正常。這個錯誤是根據(jù)本機(jī)的實際情況處理的。你也要根據(jù)自己本機(jī)的具體錯誤原因解決存在的問題。

你再看看以下幾點.
1,是否zend所需的dll文件所在目錄給的權(quán)限不夠,必須有讀取和運行的權(quán)限 
2,是否使用的2003,設(shè)置過應(yīng)用池,比如池中限制了什么什么,調(diào)整一下再試試看,是否好了,呵呵 
3,php.ini有兩個地方?jīng)]有設(shè)置,而且一些程序必須用到的 


將;upload_tmp_dir該行的注釋符,即前面的分號“;”去掉,使該行在php.ini文檔中起作用。
upload_tmp_dir是用來定義上傳文件存放的臨時路徑,在這里你還可以給其定義一個絕對路徑,例如:
upload_tmp_dir = d:\upload  當(dāng)然,此時你的d:upload目錄必須有讀寫權(quán)限。  
這里我設(shè)置為  
upload_tmp_dir = c:\temp  (因為前面建立了這個文件夾,我圖省事,呵呵) 


出現(xiàn)這樣的錯誤語句一般是因為你的php.ini中關(guān)于session.save_path一項沒有設(shè)置好,解決的方法是將
session.save_path和session.cookie_path 設(shè)置置為  
   session_save_path = c:\temp  
   session.cookie_path = c:\temp  
   然后在c:\目錄下建立一個temp目錄,即可(前面我們的eaccelerarot正好用到,建立過這么一個文件
夾)
或者因為安裝了一些組件導(dǎo)致。都可以參考下。
最近我的windows2003服務(wù)器頻繁出現(xiàn)“PHP has encountered an Access Violation at ××××××”這樣的錯誤,嘗試搜索了下,遇到這樣問題的人還真不少。我的原因可以鎖定在eaccelerator上面,因為之前php運行效率不大滿意,所以裝了eaccelerator加速,效果還是不錯的,但隨著數(shù)據(jù)庫不斷加大,查詢和更新數(shù)據(jù)庫操作太頻繁,出現(xiàn)了“PHP has encountered an Access Violation at ××××××”這個錯誤。網(wǎng)上的解決辦法無非就是去掉eaccelerator加速,這肯定不行,因為我要用,那就按他們說的配置一下吧,什么臨時文件啊、session路徑啊,都改了,還是不行,于是就想是不是mysql版本的問題呢?看了下,發(fā)現(xiàn)dll的大小和修改日期還真不一致,于是把mysql下的dll覆蓋了從php里拷貝到系統(tǒng)目錄的dll,重啟iis,貌似好了,但是重啟服務(wù)器后又出現(xiàn)了,看來問題不在這,難道是iis應(yīng)用程序池的問題?

  嘗試去除這個站點的所有限制,但是重啟服務(wù)器后發(fā)現(xiàn)又不行,還是這個錯誤。觀察了下,只要重啟iis就能臨時解決這個問題,但是這不治本啊。仔細(xì)想了下,既然我的環(huán)境沒有問題,是在裝了eaccelerator后出現(xiàn)問題,那就從eaccelerator下手。仔細(xì)檢查每個配置,發(fā)現(xiàn)我配置的一點問題都沒有,無論eaccelerator的版本、php的版本,還是mysql的版本,都沒問題,權(quán)限也都夠,php.ini配置也正確,但重啟iis就好使一陣子,于是把問題定位到應(yīng)用程序池。因為我的iis之前配置一點問題都沒有。最近看eaccelerator資料是共享內(nèi)存和硬盤,難道是iis應(yīng)用程序池和其他站點共享導(dǎo)致這個問題?于是重新建立應(yīng)用程序池,把這個應(yīng)用程序池只獨立分配給出問題的站點,適當(dāng)減少對資源的限制,重啟iis,好使了,重啟服務(wù)器,也好使了,做了個簡單的壓力測試,也好使了。

  到此問題解決,留個日志紀(jì)念下,我一個禮拜才解決的這個鳥問題。

相關(guān)文章

最新評論