2014-05-12 52 views
1

我想將現有的Drupal 6站點從IIS服務器遷移到使用Linux和Apache的AWS實例和數據庫。Drupal站點源代碼和index.php錯誤

我一直在下面這篇文章的說明:

http://www.imamuseum.org/cc-mcn09.pdf

我已在本文的「配置MySQL」一節跳過,因爲我目前從AWS使用的數據庫是MySQL數據庫。

到目前爲止,我有... 將源代碼轉移到/ ebsvol/apache/www目錄。

在「數據庫URL格式:」下更改了我的/ebsvol/apache/www/sites/default/settings.php文件以匹配新的Ec2實例數據庫信息。

改變配置/etc/httpd/conf/httpd.conf文件包含下列虛擬主機:

<VirtualHost 00.00.00.003:80> 
#ServerAdmin root 
DocumentRoot /ebsvol/apache/www 
#ServerName my.test.site.edu 
#ServerAlias www.my.test.site.edu 
ErrorLog /ebsvol/apache/log/error.log 
TransferLog /ebsvol/apache/log/access.log 

<Directory /ebsvol/apache/www> 
    AllowOverride All 
</Directory> 
</VirtualHost> 

現在,當我打開EC2實例的公共DNS頁面顯示此錯誤消息,果然出在我的Drupal的源代碼,我的index.php文件:

<?php 
// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $ 

/** 
* @file 
* The PHP page that serves all page requests on a Drupal installation. 
* 
* The routines here dispatch control to the appropriate handler, which then 
* prints the appropriate page. 
* 
* All Drupal code is released under the GNU General Public License. 
* See COPYRIGHT.txt and LICENSE.txt. 
*/ 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 


require_once './includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$return = menu_execute_active_handler(); 

// Menu status constants are integers; page content is a string. 
if (is_int($return)) { 
switch ($return) { 
case MENU_NOT_FOUND: 
    drupal_not_found(); 
    break; 
case MENU_ACCESS_DENIED: 
    drupal_access_denied(); 
    break; 
case MENU_SITE_OFFLINE: 
    drupal_site_offline(); 
    break; 
} 
} 
elseif (isset($return)) { 
// Print any value (including an empty string) except NULL or undefined: 
print theme('page', $return); 
} 

drupal_page_footer(); 

有誰知道爲什麼Drupal站點是隻讀取index.php文件,而不是整個源代碼?

如果您需要更多信息,請讓我知道。

感謝,

回答

0

如果它真的輸出的PHP源代碼,這意味着你還沒有配置的Apache通過PHP解析腳本。你鏈接到的PDF並沒有說如何做到這一點。如果您使用的是Fedora,則它的內容類似於以下內容,但軟件包名稱可能有點不同。

sudo yum install php php-mysql 
+0

謝謝奧斯卡的建議。不幸的是,這並沒有解決問題。我運行了這個命令行:cat/etc/issue並且在\ m上收到了這個Amazon Linux AMI版本2014.03 Kernel \ r所以我假設我沒有運行Fedora。 – Lgalan90

+0

我找到了!答案是在這裏的鏈接:http://www.thingaweek.com/how-install-drupal-amazon-ec2我有一些錯誤的東西,首先我必須運行安裝文件給我,我也必須重新啓動Apache服務器。我一直想弄明白這一點現在,所以我很高興我終於得到了這個並運行:) – Lgalan90

+0

太棒了!你有沒有更新內核?我很好奇爲什麼你不得不重啓整個服務器,這在Apache中很罕見。如果您需要重新啓動Apache或Mysql來重新加載配置,則只需重新啓動該服務即可。通常通過'sudo service apache2 restart'或者'sudo system restart http.service'根據分佈情況而定。 –