Назад | Перейти на главную страницу

PHP 5.4 на CentOS 5 - GD не работает

Я установил PHP 5.4:

rpm -qa | grep php
php-common-5.4.6-1.el5.remi
php-5.4.6-1.el5.remi
php-cli-5.4.6-1.el5.remi

Вот мой вывод php-m:

php -m
PHP Warning:  PHP Startup: curl: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: fileinfo: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: json: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/extensions/no-debug-non-zts-20060613/phar.so' - /usr/local/lib/extensions/no-debug-non-zts-20060613/phar.so: undefined symbol: zend_resolve_path in Unknown on line 0
PHP Warning:  PHP Startup: zip: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
[PHP Modules]
ctype
curl
date
dom
filter
ftp
gd
hash
iconv
json
libxml
mcrypt
mysql
mysqli
openssl
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
soap
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

php.ini:

[gd]
; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices
; disabled by default
; http://php.net/gd.jpeg-ignore-warning
;gd.jpeg_ignore_warning = 0
extension=gd.so

У меня есть gd.so в / usr / local / lib / extensions / no-debug-non-zts-20060613 / с 777 perms.

Я перезапускаю apache. Php работает, gd - нет.

Спасибо за любой вклад!

Available Packages
php-gd.i386                        5.1.6-39.el5_8                        updates
[root@ser ~]# yum install php-gd.i386
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: mirror.symnds.com
 * extras: mirror.cogentco.com
 * updates: mirror.ash.fastserv.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-gd.i386 0:5.1.6-39.el5_8 set to be updated
--> Processing Dependency: php-common = 5.1.6-39.el5_8 for package: php-gd
--> Finished Dependency Resolution
php-gd-5.1.6-39.el5_8.i386 from updates has depsolving problems
  --> Missing Dependency: php-common = 5.1.6-39.el5_8 is needed by package php-gd-5.1.6-39.el5_8.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-39.el5_8 is needed by package php-gd-5.1.6-39.el5_8.i386 (updates)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

Похоже, вы используете репозиторий Remi. Вам необходимо отключить пакеты PHP из репозитория CentOS Base, добавьте строку ниже в /etc/yum.repos.d/CentOS-Base.repo на [updates] блок:

[updates]
...   
exclude=php*

Ищите php-gd RPM в ваших репозиториях. Я считаю, что это то, чего вам не хватает.

ОБНОВЛЕНИЕ: вы можете искать доступные RPM с помощью yum list "php-gd".

Если вы найдете такой доступный, вы можете установить его с помощью yum install php-gd.