Hello,
I was wondering if you could update a comment for me. I know it's a
tedious request, but it's a comment for an important problem that few
people have solved (the Imagick installation problem). It's at this
URL: http://www.php.net/manual/en/imagick.installation.php .
Let me know if this is possible. Thank you!
Andy Carloff,
There is a big disclaimer that should be made to all those about to venture on
ImageMagick programming using PHP: the great, vast majority of WAMP
(Windows-Apache-MySQL-PHP) servers do not support ImageMagick commands at all,
since it is a "different package," and there appears to be no way to install
ImageMagick through standard Add/Remove Applications within Linux (as far as
standard Debian linux releases go). It's very easy to get Apache/PHP running
in either Windows or Linux with pretty much any standard OS/distro supported so
that you can run all of your own code on your own computer. But that's
definitely not the case when you want Imagick to cooperate with your Apache
server and your PHP code!
It took me almost an entire week just to get Apache/PHP/ImageMagick working all
together nice and happily so that I could run my own PHP code on my own machine
(natively, too). So, I decided to simply write down the steps, to help anyone
else out who could need help.
Guide to Building an Apache/PHP/Imagick Server with Linux/CentOS 6.4:::
1. Install CentOS 6.4. (Theoretically, other versions of CentOS should work as
well, but I simply chose the most recent one.) Also, you can very easily
emulate CentOS within Windows (for instance, the unfree choice of VMWare).
2. Install PHP, PHP-Common, PHP-extensions, etc., from standard Application
Package Manager ("Add/Remove Programs", usually in system tools somewhere).
(You don't have to worry about Apache, because that comes with CentOS 6.4
anyway.)
3. Open up a terminal and enter admin mode with the command "su". You'll need
a password for this.
4. Enter this command: yum install ImageMagick ImageMagick-devel
5. Enter this command: pecl install imagick
6. Modify php.ini and include the line "extension=imagick.so". This file is
located at "/etc/php.ini" normally. The line must be exactly inserted in the
section of "Dynamic Extensions", which begins with this commented out text:
;;
; Dynamic Extensions ;
;;
Use the "search" feature of gedit to find the text. Add the extension below
the commented out note in this section so that the result looks like:
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
extension=imagick.so
Putting the extension directly at the top caused me serious permission issues
in running Imagick code. Also, with CentOS, the permissions automatically
disable user control for this php.ini. Enter the following terminal command:
"chown [YOUR-USERNAME] -R /etc/php.ini", without the quotes to get control to
modify it. Note to insert your username where it states "[YOUR-USERNAME]".
7. Enter this command: "service httpd restart", without quotes, from admin
mode. This restarts Apache/PHP/PHP's extensios now that you've installed
ImageMagick. If this gives you an error, just try "service httpd start".
My favorite part about this method is that you can update your system with
issuing the "yum update" command and then the "yum upgrade" command -- and the
Apache/PHP/Imagick combo will still be working perfectly! Unlike some other
guides out there for this, you don't need to rely on antiquated, unsupported
versions that can be nearly impossible to find. Also, you don't need to worry
about the MySQL, Hash, MBString, Exif packages, because they all seem to be
installed and properly cooperating with PHP automatically after installing PHP
from the Application Manager. This solution makes everything work well
together.
The root directory of your public files is located at /var/www/html/.
Normally, this folder is not owned by the user, so you'll get a permission
error when trying to add files or folders to it. Correct that with entering
admin mode in the terminal/command-line window ("su" command) and entering the
following command: "chown [YOUR-USERNAME] -R /var/www/html/", without quotes.
Again, replace "[YOUR-USERNAME]" with your actual user name. (Warning: The
first time I did this, I was lazy and entered the command for only the "/var/"
folder, which prevented my system ever from booting. It would always freeze
with the notorious and googleable erro-message: "Could not update ICEauthority
file /var/lib/gdm/.ICEauthority". So, make sure to change ownership only for
"/var/www/html/".)
To view your root directory files as compiled, resultant, PHP pages, open up a
browser and enter "127.0.0.1" as