2013-02-07 68 views
2

我是一个完整的初学者,但我已经建立了一个EC2服务器,并且正在尝试开发一个简单的基于php-mysql的网站。PHP脚本运行在命令行上,但不在浏览器中

我设法让apache2运行,并且我有一个指向服务器的域。我试图设置一个非常简单的PHP脚本来附加到数据库。下面的脚本运行得很好,当我使用命令行php simple_script.php

<?php 

echo "Hello\n"; 

$con = mysql_connect("localhost","james","<password>"); 
if($con){ 
echo "Connected\n"; 
} 
?> 

然而,当我去www.myurl.com/simple_script.php我只看到线“你好”。任何帮助将感激地收到!

好的,所以我检查了apache错误日志,这是这样说的: PHP Fatal error: Call to undefined function mysql_connect() in /var/www/www.myurl.com/simple_script.php on line 5 任何想法如何解决这个问题?

+0

EC2的错误日志告诉了什么? – Yogu

+0

通过命令行和通过网页浏览器的PHP可能有不同的配置,所以也许扩展mysql不加载为PHP网络 – pomeh

+2

使用mysqli/pdo - php_mysql现在正式弃用 – Martin

回答

1

您正在使用已弃用的功能。使用mysqli_ *或查看PDO类。 http://php.net在语言方面有很好的文档:)

+0

谢谢,我试着改变调用,以使用mysqli_connect ,它仍然可以在命令行中运行,但不能在网络上运行!我认为它一定是一个服务器配置问题! – James

+0

试试[如果(!$ con)]确定你没有连接? –

+1

它在我重新启动Apache后工作,这似乎有点奇怪,我应该尽早尝试,欢呼。 – James

1

地址:

else { 
    die(mysql_error()); 
} 

找出错误

0

如果你想搞清楚这些事情(如果这是不是在生产服务器上),我想通过显示启动通过启用错误报告在您的php.ini文件中的PHP错误。要找出php.ini的位置,请创建一个使用phpinfo()函数的文件,并且您应该获取路径。 (这也将告诉你,如果MySQL正在运行。)

<?php phpinfo();?> 

在php.ini中,找到 “使用error_reporting” 路线,并将其设置为一样的东西:

的error_reporting = E_ALL &〜E_NOTICE

相关问题