当我调用此命令时:
php.exe Connection.php
我收到此错误:
Fatal error: Call to undefined function ...\mysql_connect() in Connection.php on line x.
但是,如果我在同一台服务器上的浏览器中运行它,我没有问题。 是的,我的服务器上启用了mysql
[编辑] 完成错误:
"C:\Program Files (x86)\EasyPHP-5.3.6.0\php\php.exe" "C:\Program Files (x86)\EasyPHP-5.3.6.0\www\MusicSite\Php\Devtron\Exemples\NewsTable.php"
Fatal error: Call to undefined function Devtron\Database\mysql_connect() in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\MusicSite\Php\Devtron\Database\Connection.php on line 108
答案 0 :(得分:3)
命令行解释器不一定加载与您在Web服务器中配置的任何SAPI相同的配置文件。运行此以找出:
<?php
var_dump( php_ini_loaded_file() );
var_dump( php_ini_scanned_files() );
答案 1 :(得分:2)
听起来几乎就像服务器上有两个PHP实例一样。如果您安装PHP(默认情况下从shell可用),然后有人安装了像xampp这样的软件包,就会发生这种情况。我将查看服务器的文件系统(可能是find / -name "php.exe"
)来查找所有实例。
听起来像在Web服务器上运行的那个启用了mysql,但是在shell中运行的那个没有。
答案 2 :(得分:1)
试试这个
$ php -m
检查mysql是否列在列表中。
$ php --ini
如果像这样输出
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
$ locate php.ini
然后你的系统上有php5。
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
.....................
.....................
现在不做任何使用php5而不是像这样的PHP。
$ php5 test.php