Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP脚本在命令行上运行,但不在浏览器中运行_Php_Mysql_Apache2 - Fatal编程技术网

PHP脚本在命令行上运行,但不在浏览器中运行

PHP脚本在命令行上运行,但不在浏览器中运行,php,mysql,apache2,Php,Mysql,Apache2,我在这方面是一个完全的初学者,但我已经建立了一个EC2服务器,我正在尝试开发一个简单的基于php mysql的网站 我已经设法让apache2运行,并且我有一个指向服务器的域。我正在尝试设置一个非常简单的php脚本以附加到数据库。当我使用命令行php simple\u script.php <?php echo "Hello\n"; $con = mysql_connect("localhost","james","<password>"); if($con){ echo

我在这方面是一个完全的初学者,但我已经建立了一个EC2服务器,我正在尝试开发一个简单的基于php mysql的网站

我已经设法让apache2运行,并且我有一个指向服务器的域。我正在尝试设置一个非常简单的php脚本以附加到数据库。当我使用命令行
php simple\u script.php

<?php

echo "Hello\n";

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

然而,当我进入
www.myurl.com/simple_script.php
时,我只看到一行“Hello”。任何帮助都将受到感激

好的,我检查了apache错误日志,上面说:
PHP致命错误:调用第5行/var/www/www.myurl.com/simple\u script.PHP中未定义的函数mysql\u connect()
有什么办法解决这个问题吗?

添加:

else {
    die(mysql_error());
}

要找出错误

如果您试图找出问题(如果这不是在生产服务器上),我首先在php.ini文件中启用错误报告来显示php错误。要找到php.ini所在的位置,请创建一个使用phpinfo()函数的文件,您应该获得路径。(这还会显示mysql是否正在运行。)


在php.ini中,查找“error_reporting”行并将其设置为:


error_reporting=E_ALL&~E_NOTICE

您正在使用一个不推荐使用的函数。使用mysqli_*或查看PDO类。关于该语言有一个很好的文档:)

EC2的错误日志告诉我们什么?通过命令行和web浏览器的PHP可能有不同的配置,因此可能没有为PHP web加载扩展mysql使用mysqli/pdo-PHP_mysql现在被正式弃用Hanks,我尝试将调用改为使用mysqli_connect,它仍然可以在命令行中使用,但不能在web上使用!我想这一定是服务器配置问题!请尝试[if(!$con)]以确保您的网络没有连接?在我重新启动Apache之后,它就起作用了,这似乎有点奇怪,我应该早点尝试,干杯。事实上,我以前就遇到过这个问题。
<?php phpinfo();?>