Я установил PHP5.4 из PPA ppa:ondrej/php5-oldstable
в свою Ubuntu 12.04.2.
Тогда все мои сценарии обработки изображений были сломаны. Оказывается, библиотека php5-gd
не загружена.
$ php -a
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/gd.so' - /usr/lib/php5/20100525/gd.so: undefined symbol: gdGetC in Unknown on line 0
Interactive mode enabled
Вот какой-то пакет, установленный на моей машине, связанный с GD (надеюсь, может помочь, дайте мне знать, если вам нужно узнать подробности о других пакетах):
ii libgd2-xpm 2.0.36~rc1~dfsg-6ubuntu2 GD Graphics Library version 2
ii libgd2-xpm:i386 2.0.36~rc1~dfsg-6ubuntu2 GD Graphics Library version 2
ii libgd3 2.1.0-2~precise+1 GD Graphics Library
ii php5-gd 5.4.17-4+debphp.org~precise+1 GD module for php5
Есть ли способ исправить это?
Настоящим виновником является тот факт, что расширение PHP 5.4 GD несовместимо с libgd (> = 2.1.0). Поскольку gd.so является динамическим расширением, невозможно обнаружить пропущенные символы во время компиляции.
В любом случае php5-oldstable был обновлен:
Например, эта ошибка была исправлена в php5 5.4.17-5 + debphp.org ~ + 1 (некоторые диски еще строятся на момент написания этого ответа).
sudo apt-get install php5-gd
работал для меня после того, как мне пришлось переключиться со стабильного на старый-стабильный из-за более старого апача.