на ubuntu 12.04 я обновился до PHP 5.4 согласно этому руководству http://www.upubuntu.com/2012/03/how-to-upgrade-install-php-540-under.html Но когда я звоню php5 -v
я получил
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysql.so' - /usr/lib/php5/20100525/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysqli.so' - /usr/lib/php5/20100525/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/pdo_mysql.so' - /usr/lib/php5/20100525/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.4.0-3~lucid+4 (cli) (built: Mar 27 2012 08:55:12)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
как я могу это исправить, не ломая больше? ;)
edit, при попытке установить php5-mysql
sudo apt-get install php5-mysql
я получил
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php5-mysql : Depends: libmysqlclient16 (>= 5.1.21-1) but it is not installable
E: Unable to correct problems, you have held broken packages.
Не рекомендуется устанавливать новые версии PHP на машины с Ubuntu, которые их не поддерживают.
Если вам действительно нужно, вы должны попробовать установить пакеты PHP и MySQL из DotDeb, в котором также есть все расширения. Инструкции на их сайте http://www.dotdeb.org/instructions/
Если при установке запрашиваются более новые версии ваших библиотек, вы можете скачать их с http://packages.debian.org и установите их вручную, используя dpkg -i packagename.deb
.
Обратите внимание, что это может испортить вашу установку Ubuntu. Протестируйте это на виртуальной машине или в среде с возможностью восстановления, но никогда в производственной среде.
Вы пытались перезапустить свой веб-сервер?
sudo /etc/init.d/apache2 restart
Давно не использовал Ubuntu, но я считаю, что это все
а затем попробуйте переустановить нужные пакеты. MySQL
У меня тоже есть эта проблема на Debian Testing / Wheezy. Я понятия не имею, почему расширения устанавливаются в / usr / lib / php5 / 20100525 /, но похоже, что они там. Чтобы исправить это, откройте файл php.ini где бы он ни был (возможно, в / etc / php * или что-то в этом роде) и измените / добавьте следующую строку:
extension_dir = "/usr/lib/php5/20100525/"
Затем перезапустите свой php5-fpm, если знаете, как это сделать, или просто перезагрузите компьютер, и PHP должен снова заработать.
Насколько мне известно, Ubuntu 12.4 все еще находится в стадии бета-тестирования (финальной бета-версии). Поскольку libmysqlclient16 был удален из репозиториев Ubuntu 12.04, вам нужно будет установить его вручную. Пакеты для скачивания: 32-битная версия - http://launchpadlibrarian.net/94563300/libmysqlclient16_5.1.58-1ubuntu5_i386.deb 64-битная версия - http://launchpadlibrarian.net/94808408/libmysqlclient16_5.1.58-1ubuntu5_amd64.deb
а затем установите его с помощью: sudo dpkg -i libmysqlclient16_5.1.58-1ubuntu5_XXX.deb Вероятно, вам потребуется обновить сервер mysql до 5.1.58
Этот пакет является устаревшим для Debian версии 7. Один из вариантов - отключить его.
/etc/php5/conf.d/
/etc/php5/conf.d/mhash.ini
отключить добавление; следующая такая строка
;extension=mhash.so
Эта библиотека находится в /usr/lib/pyshared/python2.7
. Пытался связать (ln
), но не работает, потому что показывает двоичную ошибку.