PHP脚本在通过命令行执行时不起作用,但从浏览器执行时工作正常

时间:2016-01-05 10:07:45

标签: php mysql linux apache ubuntu-12.04

我的PHP脚本在通过浏览器执行时运行良好,但在尝试使用命令提示符执行时显示错误消息。

首先,我在php文件中使用“system('ls> /tmp/test.txt')”从命令提示符测试了php文件。它工作正常。

但是在PHP脚本中通过命令提示符执行Mysql查询时显示错误。(注意:php文件中的相同mysql查询已成功从浏览器执行)。

命令:php fullpath ____ / automatic.php

错误:PHP致命错误:在第7行的完整路径_____ / automatic.php中调用未定义的函数mysqli_connect()。

有什么问题?

2 个答案:

答案 0 :(得分:0)

请注意,PHP可能会使用完全不同的CLI(命令行)版本配置,以及Web服务器转发的配置(例如,PHP-FPM)

该错误意味着没有为PHP的CLI配置启用mysql扩展。以特权用户身份登录并尝试以下操作: sudo php5enmod mysql之后应该有效。

答案 1 :(得分:0)

php命令行使用与php浏览器不同的php.ini。 您必须已安装pdo_mysql扩展。 在linux系统中,命令行php.ini在

/etc/php5/cli/php.ini

浏览器php.ini在

/etc/php5/apache2/php.ini

检查您是否有该文件

extension=pdo_mysql.so