Установленный MacPorts PHP, теперь не может взаимодействовать с MySQL - Mac OS X - PullRequest
1 голос
/ 18 марта 2011

У меня была стандартная версия PHP, которая поставляется в комплекте с Mac OS X, которая отлично работала, но я хотел перейти на новую версию, поэтому я использовал MacPorts , и все прошло хорошо.Затем я отредактировал мой .conf файл и проверил, и теперь моя версия PHP обновлена ​​до последней версии.

Однако после запуска проекта PHP, над которым я работаю, теперь кажется, что я не могу взаимодействоватьс MySQL, которая работала со стандартной установкой PHP, которая шла в комплекте с Mac OS X (примечание: я изначально установил MySQL из их установщика с их домашней страницы).

Мой вопрос таков: есть ли способ получить MacPortPHP для работы с моей старой установкой MySQL?

Ответы [ 4 ]

2 голосов
/ 18 марта 2011

Вы установили пакет php5-mysql от MacPorts?

Установка PHP по умолчанию в MacPorts относительно минимальна, но доступно множество дополнительных модулей.

1 голос
/ 14 апреля 2011

Как отметил Альнитак в комментариях, MacPorts 1.9.2 не имеет варианта «mysql». Тем не менее, есть способ обойти это.

Порт php5-mysql имеет вариант + mysql5, но есть еще лучший способ решения проблемы.

Это отличный пост в блоге http://top -frog.com / 2009/08/26 / macports-php5-mysql-mysqlnd / которая содержит только ту же фразу, что и сценарий php5-mysql после установки:

To use mysqlnd with a local MySQL server, edit /opt/local/etc/php5/php.ini and set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to /opt/local/var/run/mysql5/mysqld.sock

Так что, если вы используете собственный сервер MySQL для MacOS X Server, этот сокет будет легко получить, запустив ps ax | grep mysql. Для меня это было /var/mysql/mysql.sock.

И, конечно, вы всегда можете изменить сокет в /etc/my.cnf

0 голосов
/ 22 марта 2012

Я также пошел к той же проблеме с MySQL и установленным php5.К счастью, я могу это исправить, следуя советам Владис;немного по-другому.Обратите внимание, что порт php5-mysql НЕ ТРЕБУЕТСЯ

Попробуйте /usr/bin/php -i|grep mysql|grep socket, что приводит к

mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock

Обратите внимание, что php указывает на неправильное место;должно быть /opt/local/var/run/mysql5/mysqld.sock

Решение: Создать символическую ссылку на правильный путь

sudo mkdir /var/mysql
sudo ln -s   /opt/local/var/run/mysql5/mysqld.sock  /var/mysql/mysql.sock
0 голосов
/ 19 марта 2011

В момент безумия я разобрался.

Удалил PHP из существования, используя MacPorts, затем переустановил, но на этот раз добавил + mysql к установке.

После того, как это было сделано, установили php5-mysql и с помощью MacPorts. Тогда это сработало!

...