Подтвердить что ты не робот

Ошибка библиотеки php GD в ubuntu

Я использую ubuntu 11.04, и когда я открываю терминал и набираю php -a, он показывает некоторую ошибку, подобную этой

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/gd.so' - /usr/lib/php5/20090626/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0

Я думаю, что есть некоторая проблема с библиотекой GD. Есть ли какой-нибудь вариант для ее решения?

4b9b3361

Ответ 1

Да. Просто попробуйте:

sudo apt-get install php5-gd

Вам, вероятно, придется удалить строку нарушения в php.ini, либо в php.ini, либо в /etc/php 5/conf.d/gd.ini, возможно.

Ответ 2

Возможно, что-то вроде

sudo apt-get install php-gd

должен сделать это, если не попробовать

apt-cache search php | grep gd

Ответ 3

Для меня решение было:

locate --regex /mcrypt[.]so\$ /gd[.]so\$ /suhosin[.]so\$ /pdo_mysql.so\$ /pdo[.]so /mysqli[.]so\$ '/php5/.*/mysql[.]so$'

Что вернуло местоположение всех библиотек, которые обнаружила проблема с установкой php5:

/usr/lib/php5/20090626+lfs/gd.so
/usr/lib/php5/20090626+lfs/mcrypt.so
/usr/lib/php5/20090626+lfs/mysql.so
/usr/lib/php5/20090626+lfs/mysqli.so
/usr/lib/php5/20090626+lfs/pdo.so
/usr/lib/php5/20090626+lfs/pdo_mysql.so

Я был немного обеспокоен тем, что эти взгляды могут быть старыми версиями, но я все равно использовал их пути. Стефгосселин определил местоположение файлов ini, /etc/php5/conf.d/. Я изменил их все. В приведенной ниже команде будет изменено все файлов *.ini, поэтому убедитесь, что все ваши данные действительно нуждаются в изменении. Очевидно, вам нужно использовать целевой путь, который вы обнаружили с помощью команды locate вместо моей, /usr/lib/php5/20090626+lfs/:

 sudo sed -ri -e "s|^(extension=)(\w{2,10}[.]so)$|\1/usr/lib/php5/20090626+lfs/\2|g" /etc/php5/conf.d/*.ini

Прежде чем найти это решение, я попробовал несколько команд apt-get purge и apt-get reinstall без везения. Я не уверен, но моя проблема возникла из-за установки zend из источника или phpmyadmin с aptitude. Это никогда не вызывало ошибок php, просто раздражающее предупреждение, о котором вы говорили. Наконец, php5 может запускаться без ошибок:

php5 --version

дает...

PHP 5.3.5-1ubuntu7.2 with Suhosin-Patch (cli) (built: May  2 2011 23:18:30)  Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Ответ 4

Лично я считаю, что использование библиотеки обертки под названием Imagine (доступно на packagist https://packagist.org/packages/imagine/imagine или ее можно скачать непосредственно из Github https://github.com/avalanche123/Imagine/tree/develop), за исключением прямого вызова GD API. Это гораздо удобнее, удобнее в освоении и огромной экономии времени для меня.

Поскольку это библиотека обертки, вам нужно будет установить одну из следующих библиотек, чтобы использовать ее,

  • GD2
  • Imagick
  • Gmagick

Я использую Imagick, чтобы установить его на запуск sudo apt-get install php5-imagick

Я написал руководство по настройке множества полезных библиотек для Ubuntu для разработки PHP, вам может показаться полезным http://www.shenghua.co.uk/ubuntu-zero-to-hero-guide-best-for-php-developers/.