您在這裡

安裝模組會出現錯誤

tky's 的頭像
tky 在 2006-10-31 (二) 14:51 發表

各位好:

TKY最近常碰到一個問題,就是安裝一些模組時會碰到整個網站或者模組管理頁面整個變成空白的情況。

像是VIEWS模組或者EVENT模組等等,真的很奇怪。刪除掉伺服器上的目錄之後就會恢復正常。

TKY不曉得這個問題事出在哪裡?是否跟.htaccess這個檔案有關呢?
因為TKY自己在本機電腦上測試都沒問題,但一上傳到伺服器就會出問題。而兩者的檔案差別似乎就在於伺服器不接受.htaccess這個檔案。

麻煩版上的老手們指點一下,謝謝大家。

TKY

記憶體不夠?

先謝謝jimmy的回應,不過你說的方法是要調php.ini的哪裡呢?

我能夠調整的頂多是我自己的電腦,至於網站伺服器嘛,我恐怕很難說服網管為了我的網站而調高記憶體用量。

我碰到的狀況詳細說來是這樣,裝VIEWS的時後,只要一上傳VIEWS的資料夾,開啟模組管理畫面必定變成空白頁;刪掉之後就開得成。

裝flexinode的時後,模組管理畫面開得成,但是勾選好要啟用的模組、一按下「確定」鈕,畫面就會跳成空白;有趣的是按「回上一頁」可以跳回模組管理畫面,而且新勾選的模組也可以啟用。

我發覺裝這些模組時,伺服器並不會自動新增模組所需的SQL資料表。
在我自己的本機測試網站上卻可以。
所以我必須將新的SQL資料表輸出成SQL檔,並在伺服器上的phpmyadmin上頭加以還原新增。

只是新增必須的SQL資料表,模組還是不能用,狀況依然故我。
如今我也只能移除VIEWS、安裝flexinode,將就著用。

這樣的狀況,除了php記憶體不足之外,真的沒有其他的原因嗎?
沒有不敬的意思,只是好奇是否有其他人碰過這樣的問題而已。

多謝幫忙

TKY

tky

問問網管,php.ini有沒有複寫的可能
另外,改哪裡,可以查察php.net上面的configuration
或是打開php.ini,搜尋一下memory就會找到了~

--
from open mind to open source~

謝謝jimmy給TKY的幫助。
我用phpinfo()查了一下伺服器上的php設定,memory的上限是8M。這樣會不夠嗎?因為TKY自己電腦上設定的也是8M而已。

還是說TKY的電腦跑的網站只有一個,需求比較少?
反正,我已經請網管幫忙了,只是不曉得什麼時候會有回應。

唉,因為這個問題,很多模組都不能安裝。很多想法也不能實現。
不想得5.0版出來之後,能不能解決這個問題。

TKY

tky

真的耶!果然是這個問題。
不過TKY是用了找網管去改php.ini之外的方法。

用GOOGLE搜尋「空白 模組 Drupal」,沒想到又回到本站(站內的搜尋引擎好像沒GOOGLE厲害?)。看到一篇好像也是jimmy在三月寫的舊文。連到Drupal.org上去看,才知道有好幾種方法可以解決問題。

翻譯如下:

管理>模組頁面變成空白
Drupal 4.5.x or older · Drupal 4.6.x · Drupal 4.7.x

這最有可能是記憶體的問題。在這個(模組)頁面中,所有模組不管是否被啟用都會執行。這會導致PHP用光可用的記憶體。
有兩個解決之道:
1. 移除(無法使用的)模組--最快、最簡單的方式。
2. 以下列任一種方式增加PHP記憶體上限:

* 將「memory_limit = 12M」這個函數寫入你的php.ini檔案(建議,如果你有權限的話)

*將「 ini_set('memory_limit', '12M');」 寫入你的 sites/default/settings.php檔案中。

* 將「php_value memory_limit 12M」寫入你在Drupal根目錄下的 .htaccess檔。

CivicSpace最受歡迎的功能需要24MB的記憶體,所以你或許必須測試你所需要的記憶體大小。

所有的嚴重錯誤都會導致空白的模組管理頁面。如果你要確定是記憶體上限造成這個問題的,你應該看看你的網站伺服器錯誤報告。看看有沒有像這樣的一行字:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 418591 bytes) in /path/to/drupal/includes/database.mysql.inc on line 29

這句話指出Drupal需要比PHP允許還多的記憶體用量。

永遠記住:通常來說「少即是多」。你安裝所需的記憶體越少,它就會跑得越快,而更多人就能同時瀏覽你的網站。

我是用第二種方法,一上傳settings.php,所有的模組都能跑了!
謝天謝地!

TKY

tky

這個問題困惑了我很半天,通過Google找到了這里,
我裝在虛擬服務器上,因此沒有修改php.ini的權限,也不能修改settings,由于文件收到保護,不愿去麻煩管理員。
于是使用了TKY提供的解決方法,第三種修改.htaccess
把php_value memory_limit 12M加入進去后
然后問題就解決了。
非常感謝

不好意思想再請問,加了之後需要重啟才可以嗎?
因為看Status report裡的PHP memory limit 沒改變~
問了網站管理者說機台是共用的可能沒辦法重啟?
是否還有其他方法