Я надеюсь, что ты в порядке сегодня. У меня странная проблема. Недавно я изменил свои веб-приложения, чтобы использовать 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
Тем не менее, в оболочке php сокет не так. Каким-то образом путь сокета меняется от 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
Внутри оболочки файл конфигурации не адресован должным образом. Зачем?
me@MacBook-Pro /Users/me/www$ php -i | grep ini
Configuration File (php.ini) Path => /etc
Тем не менее, когда обслуживается Apache, INI-файл и сокет в порядке.
Пожалуйста, помогите 😛 Я использую MacPort на Macosx. Спасибо!
Хорошо, ребята, я справился с проблемой создания символической ссылки на настоящий php.ini из /etc/php.ini. Не исправить, но работает.
Других решений пока нет …