繁体   English   中英

PHP:mysql_connect()无法通过命令行工作

[英]PHP: mysql_connect() won't work via command line

我有一个脚本调用mysql_connect()来连接MySQL数据库。 当我在浏览器中运行脚本时,它可以工作。 但是,当我从命令行运行它时,我收到以下错误:

Call to undefined function mysql_connect()

这似乎完全是矛盾的。 任何人都有任何想法,我可以从命令行运行它。 顺便说一句,我从一个bash shell运行它,如下所示:

php /path/to/script.php

它可能使用默认的PHP配置。 我之前发现它不使用相同的php.ini或根本不使用它。 因此,某些扩展将不会启用。

改为:

php -c /etc/php.ini /path/to/script.php

其中/etc/php.ini是你的ini文件的路径。 你可以通过做一个phpinfo();来找到它phpinfo();

检查你的php cmd版本是否真的有mysql支持:

<? php
  echo php_info()
 ?>

如果没有,那么可能是因为它与您的Web服务器使用的版本不同。

使用“-m”参数运行php以列出所有已编译的模块:

$ php -m

你应该看到“mysql”模块。 如果没有,那么我想php cmd版本还没有使用--with-mysql编译,或者“configure”脚本由于某种原因无法包含它。

虽然这可能是一个基本的答案,但请确保您拥有最新的PHP客户端,并确保它正在查看您通过Apache处理的相同PHP文件夹。

如果这不起作用,尝试使用mysqli,看看它是否是PHP的整个MySQL部分的全局。 如果mysqli有效,而mysql_connect()没有,那么,那就像任何转到OO方面一样好的时间:-)

php-cli.ini可能是您的命令行php解释器正在使用的文件。

请确保此行出现在php.ini中

延长=激活php_mysql.dll

请注意,命令行中使用的php.ini可能与apache使用的php.ini不同。

运行Mac OS X和MAMP时可能会出现此问题。 命令行版本尝试使用MAC OS X版本,默认情况下不会加载任何php.ini。

您可以使用以下命令检查:

php --ini

看到丢失的配置文件?

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         !!! THE CONFIG FILE IS MISSING HERE !!!
Scan for additional .ini files in: /Library/Server/Web/Config/php
Additional .ini files parsed:      (none)

你需要做的是,加载你选择的php.ini并将其复制到命令行解释器的默认位置/ etc,然后再次运行上面的命令,你应该看到php.ini文件是加载应该看起来像:

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /Library/Server/Web/Config/php
Additional .ini files parsed:      (none)

您还应该将其添加到/ etc中的PHP.ini文件中

mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

这应该解决所有问题。

唷..

我的系统是CentOS。 就我而言,mysql.so的路径不正确。

当我输入

php -m

没有mysql。

在我原来的/etc/php.d/mysql.ini中只有一行:

extension=mysql.so

所以我使用命令:

rpm -ql php-mysql | grep mysql.so

找出正确的路径,这是

/usr/lib64/php/modules/mysql.so

然后我将线换成:

extension=/usr/lib64/php/modules/mysql.so

然后

service httpd restart 

php -m

mysql现在已加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM