Ошибка библиотеки php GD в Ubuntu - PullRequest
20 голосов
/ 27 мая 2011

Я использую 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. Есть ли возможностьрешить это?

Ответы [ 4 ]

34 голосов
/ 27 мая 2011

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

sudo apt-get install php5-gd

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

2 голосов
/ 27 мая 2011

Вероятно, что-то вроде

sudo apt-get install php-gd

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

apt-cache search php | grep gd
1 голос
/ 01 августа 2011

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

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 from source или 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
0 голосов
/ 16 октября 2013

Лично я думаю, что имеет гораздо больше смысла использовать библиотеку-обертку под названием 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/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...