问题
I've installed php 5.5.6 from remi repo, bun phpinfo()
shows no GD library and gd_info()
function does not exist.
Extension is enabled in /etc/php.d/gd.ini
, but still nothing.
I've also tried to reinstall php-gd library and it reinstalled successfuly but everything remained as it was before.
yum --enablerepo=remi,remi-php55 reinstall php-gd
Loaded plugins: fastestmirror
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
* base: mirrors.supportex.net
* epel: mirror.muntinternet.net
* extras: mirrors.supportex.net
* remi: mirror.1000mbps.com
* remi-php55: mirror.1000mbps.com
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.muntinternet.net
Resolving Dependencies
--> Running transaction check
---> Package php-gd.x86_64 0:5.5.6-1.el6.remi will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================
Reinstalling:
php-gd x86_64 5.5.6-1.el6.remi remi-php55 66 k
Transaction Summary
====================================================================================================================================
Reinstall 1 Package(s)
Total download size: 66 k
Installed size: 228 k
Is this ok [y/N]: y
Downloading Packages:
php-gd-5.5.6-1.el6.remi.x86_64.rpm | 66 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-gd-5.5.6-1.el6.remi.x86_64 1/1
Verifying : php-gd-5.5.6-1.el6.remi.x86_64 1/1
Installed:
php-gd.x86_64 0:5.5.6-1.el6.remi
Complete!
After that I restarted server, but that made no change.
Extension is still enabled in gd.ini
file.
File gd.so
exists in /usr/lib64/php/modules
.
But there is one big problem (I think that is the reason): when starting php scripts from console, I get warning:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/gd.so' - libvpx.so.0: cannot map zero-fill pages: Cannot allocate memory in Unknown on line 0
Than I tried to reinstall libvpx
, restarted server and again - no change: the same php warning unable to load library ....
Please, help - this problem drives me crazy :(
回答1:
After long search on the Internet (I made many attemps last days, but the last one was successfull) I've found the solution, and it was not related to GD, PHP or any of its libraries.
My VPS has 1Gb or RAM, 450MB is free. But it turned out that memory is not the only thing GD requires :) It wanted SWAP file!
I followed these instructions - How to add swap on CentOS 6 and added 1GB SWAP file. After enabling it - everything started to function! And no more annoying errors :)
来源:https://stackoverflow.com/questions/20274938/php-gd-library-installed-but-not-functioning-on-centos-6-4