繁体   English   中英

在外壳中运行连接到MySQL数据库的PHP脚本

[英]Running php script that connects to mysql db in shell

我更喜欢在shell中运行php脚本,因为输出直接出现,而不是像浏览器一样分批输出。 这对于查看脚本实际上仍在工作,以及查看长脚本的哪个部分花费的时间最长可能很有帮助。

当我像这样从外壳调用php脚本时

php filename.php

它工作正常,但前提是脚本中未建立任何数据库连接。

显然,mysql_connect()似乎失败了:

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

我怎样才能解决这个问题?

谢谢!

查尔斯

编辑1

我连接到数据库,如下所示:

//Connect to db
$user="root";
$databasePassword="";
$host="localhost";
$database="database1";
$identifier=mysql_connect($host,$user,$databasePassword,true);
$db1=mysql_select_db($database);

找到的解决方案

向我展示了正确的方法-就像将“ localhost”替换为“ 127.0.0.1”一样简单,因为:“原因是“ localhost”是mysql驱动程序的特殊名称,使其使用unix套接字连接到mysql而不是tcp套接字。”

显示您的mysql_connect()语句,如果守护程序在此端口上侦听,也许您应该尝试连接到localhost:3306。

参见:php.net/mysql_connect

如果通过浏览器调用相同的脚本时,命令行环境的ini文件显然有所不同。 ini_get(“ mysql.default_host”)显示如果未指定要连接的主机,则使用什么设置。

暂无
暂无

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

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