PHP 5.4.9 Mysqli проблема
На сервере Ubuntu 12.04 у меня был установлен PHP 5.4.9 из исходного кода:
./configure --prefix = / etc / php --with-apxs2 = / etc / apache2 / bin / apxs --with-config-file-path = / etc / php --with-config-file-scan-dir = / etc / php / conf.d --with-libxml-dir = / usr / local / libxml2 --with-xsl = / usr / local / libxslt --with-mysql --with-zlib --with-pdo -mysql --enable-calendar --with-gd --with-iconv-dir --enable-mbstring --enable-мыло --enable-сокеты --enable-zip --with-curl --with-openssl --with-kerberos -with-tidy'
Затем, используя apt-get, у меня был установлен сервер MySQL и phpMyAdmin. К сожалению, phpMyAdmin постоянно повторяет, что mysqli и mcrypt не установлены. php -m | grep mysqli только подтверждает это.
Поэтому я попытался установить mysqli с помощью "apt-get install php5-mysqli", но просто получил сообщение об этом с помощью "php5-mysqlnd" или "php5-mysql". Даже если они уже установлены (в соответствии с phpinfo ()) я пытался - не работает. Однако в php.ini есть такие сотрудники mysqli, как "extension = php_mysqli.dll", но нет "extension = mysqli.so". И блок [MySQLi] с некоторыми незакомментированными настройками также присутствует.
Так как это моя первая попытка собрать php из исходного кода, я считаю, что сделал глупую ошибку. Любая помощь очень ценится.
UPD: ПРОБЛЕМА РЕШЕНА 1. Включить расширение mcrypt ( http://sourceforge.net/projects/mcrypt/files/) 1.1 скачать, распаковать, настроить, скомпилировать и установить библиотеку Libmcrypt
wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz tar xf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8./configure make && make install
1.2 скачать, распаковать, настроить (я добавил желаемый путь: ---- префикс =/usr/local/mcrypt), скомпилировать и установить mcrypt
wget http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz tar xf lmcrypt-2.6.8.tar.gz cd lmcrypt-2.6.8./configure --prefix = / usr / local / mcrypt make && make install
2. Для установки mysqli я следовал предложенным вариантам настройки php, взятым с http://php.net/manual/en/mysqli.installation.php
./configure --with-mysql = / usr / bin / mysql_config \ --with-mysqli = mysqlnd \ --with-pdo-mysql = mysqlnd [другие параметры]
Так что после установки Libmcrypt, mcrypt в / usr / local / mcrypt и добавления изменений в конфигурацию php я наконец добился успеха. Окончательный конфиг выглядит следующим образом:
./configure --prefix=/etc/php --with-apxs2=/etc/apache2/bin/apxs --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php/conf.d --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt --with-mysql --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt=/usr/local/mcrypt --with-zlib --enable-calendar --with-gd --with-iconv-dir --enable-mbstring --enable-soap --enable-sockets --enable-zip --with-curl --with-openssl --with-kerberos --with-tidy --with-pcre-regex
PS: обратите внимание, что для запуска вам понадобится скачать, настроить, скомпилировать и установить libxml, libxslt, prce, mcrypt, Libmcrypt
1 ответ
Если вам нужен PHP с поддержкой mcrypt и mysql, где находятся опции --with-mcrypt --with-mysqli?