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

來源:互聯網
上載者:User

你再看看以下幾點.
1,是否zend所需的dll檔案所在目錄給的許可權不夠,必須有讀取和啟動並執行許可權
2,是否使用的2003,設定過應用池,比如池中限制了什麼什麼,調整一下再試試看,是否好了,呵呵
3,php.ini有兩個地方沒有設定,而且一些程式必須用到的

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

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

  嘗試去除這個網站的所有限制,但是重啟伺服器後發現又不行,還是這個錯誤。觀察了下,只要重啟iis就能臨時解決這個問題,但是這不治本啊。仔細想了下,既然我的環境沒有問題,是在裝了eaccelerator後出現問題,那就從eaccelerator下手。仔細檢查每個配置,發現我配置的一點問題都沒有,無論eaccelerator的版本、php的版本,還是mysql的版本,都沒問題,許可權也都夠,php.ini配置也正確,但重啟iis就好使一陣子,於是把問題定位到應用程式集區。因為我的iis之前配置一點問題都沒有。最近看eaccelerator資料是共用記憶體和硬碟,難道是iis應用程式集區和其他網站共用導致這個問題?於是重建立立應用程式集區,把這個應用程式集區只獨立分配給出問題的網站,適當減少對資源的限制,重啟iis,好使了,重啟伺服器,也好使了,做了個簡單的壓力測試,也好使了。

  到此問題解決,留個日誌紀念下,我一個禮拜才解決的這個鳥問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.