|
在php官方,http://bugs.php.NET/
也能夠查到兩三千頁(yè)的報(bào)告,他們官方也是束手無(wú)策,經(jīng)過(guò)了11個(gè)小版本后,還是沒(méi)有徹底解決
http://bugs.php.NET/search.php?cmd=display&search_for=php+has+encountered+an+Access&x=8&y=9
目前我提供一下這幾年我維護(hù)經(jīng)驗(yàn),我的一些民間解決辦法
第一種可能:
去掉 php中 eaccelerator 的擴(kuò)展
這樣做能夠解決您的問(wèn)題,不過(guò)可能會(huì)加重系統(tǒng)負(fù)擔(dān)
因?yàn)閑accelerator主要是為了節(jié)省系統(tǒng)資源的東西
具體做法是找到php.ini
如果是我?guī)湍渲玫模话阍赾:/php/php.ini或者 c:/winnt/php.ini 或者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"
ea主要是在unix環(huán)境下開(kāi)發(fā)的,但是作者忽略到windows實(shí)際上不像u主機(jī)那樣,是沒(méi)有u主機(jī)的那種內(nèi)存共享機(jī)制的
這個(gè)bug已經(jīng)提交給他們了,希望0.9.5能夠解決
當(dāng)然,如果您的機(jī)器這個(gè)問(wèn)題不嚴(yán)重,建議還是保留,ea是一塊非常優(yōu)秀的php緩存+加速軟件
配合zo使用,將會(huì)降低系統(tǒng)負(fù)擔(dān) 50%-80%左右,提高負(fù)載能力、速度和效率 200%左右
第二種可能
session_save_path 需要設(shè)定一個(gè)實(shí)際的物理路徑,并且該目錄需要everyone的所有權(quán)限,類(lèi)似U主機(jī)的0777
第三種可能
c:/winnt/temp 或者 c:/windows/temp
也需要everyone的所有權(quán)限,類(lèi)似U主機(jī)的0777
第四種可能
您的內(nèi)存嚴(yán)重不足,查看一下,如果有問(wèn)題,請(qǐng)加內(nèi)存,最好是一次加兩條
比如加1G內(nèi)存,最好是加2條一模一樣的512M。否則沒(méi)有啟用雙通道,效果也很一般
第五種可能
ZendOptimizer和php的搭配不是很好
換個(gè)版本試試看
目前比較穩(wěn)定的搭配是
php4.3.11+zo 2.5.10a
或者php4.4.1+zo 3.0 beta2
第六種可能
這種多屬于用win2003的用戶(hù)
他們?cè)?a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用池中設(shè)定了限制
比如多長(zhǎng)時(shí)間回收,最大使用內(nèi)存多少等等
這些設(shè)置勢(shì)必造成這個(gè)經(jīng)典的php錯(cuò)誤
木頭經(jīng)過(guò)數(shù)以百計(jì)的測(cè)試,敢擔(dān)保問(wèn)題會(huì)出現(xiàn)在這里。
php技術(shù):PHP has encountered an Access Violation,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。