PHP脚本在命令行上运行,但不在浏览器中运行
我在这方面是一个完全的初学者,但我已经建立了一个EC2服务器,我正在尝试开发一个简单的基于php mysql的网站 我已经设法让apache2运行,并且我有一个指向服务器的域。我正在尝试设置一个非常简单的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
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();?>