Mysqli连接在shell中失败,在apache(macports)中运行良好

时间:2016-07-26 00:21:53

标签: php apache sockets mysqli macports

我希望你今天没事。我有一个奇怪的问题。我最近改变了我的网络应用程序,使用mysqli连接到mysql而不是mysql_connect。当服务器通过apache时,一切正常,查询被正确发送。

但是,在终端中执行php脚本时,我收到以下错误:

Error 2002: No such file or directory

我检查了php56 / php.ini中的套接字文件,并正确声明了套接字。

mysqli.default_socket=/opt/local/var/run/mysql55/mysqld.sock

但是,在shell中,php socket是错误的。不知怎的,套接字路径从apache变为终端php环境,我完全迷失了。使用什么php.ini配置文件

me@MacBook-Pro /Users/me/www$ php -i | grep mysqli
mysqli
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
API Extensions => mysqli,pdo_mysql,mysql

在shell中,配置文件未正确处理。为什么呢?

me@MacBook-Pro /Users/me/www$ php -i | grep ini
Configuration File (php.ini) Path => /etc

但是,当由apache提供时,ini文件和套接字都可以。

请帮忙:-P我在macosx上使用macports。谢谢!

1 个答案:

答案 0 :(得分:0)

好的家伙我解决了从/etc/php.ini创建一个真正的php.ini符号链接的问题。不是修复,但有效。