2011-06-02 153 views
7

我想下面的腳本:EC2 Ubuntu的mysql_connect函數導致500內部服務器錯誤

<?php 
mysql_connect("inspectlettest.ce0ohcvwmist.us-east-1.rds.amazonaws.com", "username", "password") or die(mysql_error()); 
echo "Connected to MySQL<br />"; 
?> 

的Web服務器奇怪返回500內部服務器錯誤。

我可以通過終端從實例連接到mysql服務器就好了。

任何想法?

回答

9

當您執行php腳本時出現內部服務器錯誤時,您的第一步應該是獲取有關此錯誤的更多信息。在Ubuntu上,您可以檢查以下Apache日誌文件:

/var/log/apache2/error.log 

這是可能的,它會說這樣的事情:

[...] PHP Fatal error: Call to undefined function mysql_connect() in [...] 

如果你看到它,它可能是一些需要的包都沒有安裝在你的系統上。如果我沒有記錯的話,你至少需要mysql-clientphp-mysql包。重新啓動Apache服務器也可能是必要的:

$ sudo apt-get install mysql-client 
$ sudo apt-get install php-mysql 
$ sudo /etc/init.d/apache2 restart 

如果你的錯誤信息是不同的,請把它添加到這個問題,它會讓幫你更輕鬆。

+1

我剛忘記安裝php5-mysql,謝謝。 – tim 2011-06-07 06:25:08

+2

感謝您發佈有關安裝「php5-mysql」的帖子,而不僅僅是「php-mysql」我今天遇到了同樣的問題,無法搞清楚! – Matthew 2012-09-26 14:51:43