Ответ 1
Да. Просто попробуйте:
sudo apt-get install php5-gd
Вам, вероятно, придется удалить строку нарушения в php.ini, либо в php.ini, либо в /etc/php 5/conf.d/gd.ini, возможно.
Я использую 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. Есть ли какой-нибудь вариант для ее решения?
Да. Просто попробуйте:
sudo apt-get install php5-gd
Вам, вероятно, придется удалить строку нарушения в php.ini, либо в php.ini, либо в /etc/php 5/conf.d/gd.ini, возможно.
Возможно, что-то вроде
sudo apt-get install php-gd
должен сделать это, если не попробовать
apt-cache search php | grep gd
Для меня решение было:
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
Лично я считаю, что использование библиотеки обертки под названием Imagine (доступно на packagist https://packagist.org/packages/imagine/imagine или ее можно скачать непосредственно из Github https://github.com/avalanche123/Imagine/tree/develop), за исключением прямого вызова GD API. Это гораздо удобнее, удобнее в освоении и огромной экономии времени для меня.
Поскольку это библиотека обертки, вам нужно будет установить одну из следующих библиотек, чтобы использовать ее,
Я использую Imagick, чтобы установить его на запуск sudo apt-get install php5-imagick
Я написал руководство по настройке множества полезных библиотек для Ubuntu для разработки PHP, вам может показаться полезным http://www.shenghua.co.uk/ubuntu-zero-to-hero-guide-best-for-php-developers/.