星期四, 07/04/2013 – 15:06 — tao_3000
更多
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: http://drupal.example.com:81/install.php?profile=standard&locale=zh-hans…StatusText: OK ResponseText: Fatal error: Maximum execution time of 30 seconds exceeded in E:workphp_projectdrupal-7.22includesdatabasedatabase.inc on line 2168
論壇:
Drupal 版本:
標準Drupal7安裝中文翻譯出錯解決辦法
這個問題在網上解決的方案一致都是說在sitesdefaultsettings.php檔案,在最後增加以下兩行:
ini_set(`memory_limit`, `1280M`); //加大php的記憶體 也可以在php.ini中設定
ini_set(`max_execution_time`, 200); //加大頁面執行時間 php.ini中的預設值是30 (秒)”
看註釋我們就明白,這個是治標不治本,反正我怎麼改它都還是報錯。
其實根本的原因在於:drupal的資料庫所有的引擎都是Innodb的,但是我們預設使用的資料庫引擎是myisam的
所以我們只需要在mysqlinmy.ini(linux)中找到
innodb_flush_log_at_trx_commit = 2
上面預設是1,改為2,然後重啟Mysql服務
再重新整理頁面安裝就是幾秒的事情!
那改了上面這段程式碼的意思是什麼呢,innodb_flush_log_at_trx_commit 值是1。這個值可以取0,1,2,1是最安全的,即使系統完全崩潰也能找回前一秒鐘的資料,但也是效能最低的,每秒都要向硬碟寫日誌資料。設為2是比較適中的。
摘自:http://drupalchina.cn/node/1937