mysql_error() 在通过unix终端运行的php中返回 'No such file or directory'

标签 mysql unix error-handling php

我正在通过命令行完成本关于 php 开发的教程(我在 Mac 上使用 unix 提示符)。我在名为 test.php 的文件中包含以下代码。

<?php

define ('DB_CONNECTION_FAILED',1);

if ( !@mysql_connect('localhost','user','pass') ) {

fwrite(STDERR,mysql_error()."\n");
}

exit(0);

?>

当我使用以下命令在终端中运行它时:

php test.php

它返回:

No such file or directory

当我在浏览器中运行以下代码时:

<?php

define ('DB_CONNECTION_FAILED',1);

if ( !@mysql_connect('localhost','user','pass') ) {
echo mysql_error();
}

exit(0);

?>

我得到了预期的错误:

Access denied for user 'user'@'localhost' (using password: YES)

有人知道这是怎么回事吗?

最佳答案

检查你在 php 中设置的 *mysql.default_socket* 是否与 mysql 制作的套接字类似

关于mysql_error() 在通过unix终端运行的php中返回 'No such file or directory',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787458/

相关文章:

php - 对 MySQL 数据库中的列值进行排名

c++ - 为 Unix 创建一个 makefile

linux - 有什么方法可以输出和记录从 shell 脚本中删除的文件数

file - 移动名称中有空格的文件

php - 如何捕获 PHP 7 中的 "Call to undefined method"错误?

python - 在Python中捕获403禁止访问

error-handling - Elixir/Phoenix 处理 erlang 错误

mysql - 使用 join 运行查询时结果加倍

mysql - Debezium 是否可以配置 table_name => kafka 主题映射?

MYSQL:根据条件从交叉连接中获取某些数据