php.de

Zurück   php.de > php.de Intern > Wiki Diskussionsforum > Tutorials

Tutorials Hier findest Du Tutorials, welche nach und nach ein fertiges Script ergeben. Sehen, lernen & verstehen!

Antwort
 
LinkBack (18) Themen-Optionen Thema bewerten
Alt 09.12.2009, 23:01  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.065
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard Windows + Apache + PHP + Imagick

Hallo,

neben der bekannten GD-Library gibt es mit Image Magick noch eine weitere Grafikbibliothek, die es nicht nur als Konsolen-Variante, sondern auch als PHP-Extension gibt:
PHP: ImageMagick - Manual

Unter Windows ist die Installation etwas kompliziert, denn Apache und PHP müssen mit VC9 kompiliert worden sein.

(Das Testsystem ist Windows 7, 64 Bit, allerdings werden zum Testen die x86-Versionen verwenden).

Zunächst muss eine ganze Reihe an Software installiert werden, los geht's:


Image Magick:
ImageMagick: Install from Binary Distribution
Name: Win32 dynamic at 16 bits-per-pixel
Datei: ImageMagick-6.5.8-4-Q16-windows-dll.exe [~12.5 MB]
Nach der Installation Windows durchstarten.


Microsoft Redistributable Package:
Download details: Visual C++ 2008 Redistributable Package (x86)
(sollte sich die URL ändern, einfach googlen)
Name: Microsoft Visual C++ 2008 Redistributable Package (x86)
Datei: vcredist_x86.exe [~ 1.7 MB]
Brav die folgenden Windows-Updates ziehen (nicht zwingend)


XAMPP können wir nicht verwenden, das wird soweit es zu erfahren war mit VC6 kompiliert (also inkompatibel zu Mikko Koppanen's Imagick-Extension für Win/PHP, die VC9 benötigt), wir müssen also auf die von der Apache Lounge bereitgestellte Apache Version zurückgreifen:
Apache:
Apache on Windows binaries and modules download
Name: Apache 2.2.14 apr-1.3.9 apr-util-1.3.9 apr-iconv-1.2.1 openssl-0.9.8k+asm zlib-1.2.3+asm
Datei: httpd-2.2.14-win32-x86-ssl.zip [~ 4.9 MB]
Apache ins empfohlene Verzeichnis C:/Apache2 entpacken. Für den Anfang besser so machen, wäre ärgerlich wenn eine übersehene Konfig-Einstellung das ganze Projekt zum Scheitern bringt. Nach dem alles läuft, kann man immer noch die Komponenten dorthin verlegen, wo man sie haben möchte.


PHP:
PHP For Windows: Binaries and sources Snapshots
Zur Info:
Zitat:
Which version do I choose?

If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP

If you are using PHP with IIS you should use the VC9 versions of PHP

VC6 Versions are compiled with the legacy Visual Studio 6 compiler

VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed

Do NOT use VC9 version with apache.org binaries

These binaries are NOT intended for production use; please use the binaries at PHP Windows downloads.
Name: PHP 5.3 (5.3.2-dev) / VC9 x86 Thread Safe
Datei: php-5.3-win32-VC9-x86-latest.msi [~ 19.37MB]
So jetzt PHP installieren, Modul Apache 2.2 wählen, der Speicherort der jetzt abgefragten Apache-Konf ist C:/Apache2/conf
Diese Änderung sollte nach der Installation in der C:/Apache2/conf/httpd.conf zu finden sein:
Code:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Program Files (x86)/PHP/"
LoadModule php5_module "C:/Program Files (x86)/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Imagick-Extension:
x86 Windows builds
Name: imagick - vc9 - ts; 2009-11-18 23:39 - php_imagick_ts.dll (3.0.0-dev)
Datei: php_imagick_ts.dll [~ 261 KB]

Die kommt in unser PHP-Extension-Verzeichnis:
C:\Program Files (x86)\PHP\ext
also
C:\Program Files (x86)\PHP\ext\php_imagick_ts.dll
In der php.ini fehlt jetzt noch der folgende Eintrag:
Code:
[PHP_IMAGICK]
extension=php_imagick_ts.dll
(ganz ans Ende zum Beispiel)

So, jetzt müssen wir den Apache nochmal als Service installieren, also in die Windows/DOS-Konsole:
Code:
cd C:/Apache2/bin
httpd.exe -k install
httpd.exe -k restart
So und jetzt können wir gleich testen:

http://localhost/test.php
aka
C:/Apache2/htdocs/test.php:
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set("display_errors"1);

$im = new Imagick();
$im->newImage(100100"green""png");

$draw = new ImagickDraw();
$draw->setFillColor("white");
$draw->setStrokeWidth(1);
$draw->setStrokeColor("black");
$draw->circle(50505090);
$im->drawImage($draw);

$itWorks "It works!";
$draw = new ImagickDraw();
$draw->setStrokeColor("black");
$draw->setTextAlignment(Imagick::ALIGN_CENTER);
$metrics $im->queryFontMetrics($draw$itWorks);
$adjustY = ($metrics["textHeight"] + $metrics["descender"]) / 2// ~ vertical align: middle
$draw->annotation(5050 $adjustY"It works!");
$im->drawImage($draw);

header("Content-Type: image/" $im->getImageFormat());
echo 
$im->getImageBlob();
?>
und jetzt sollte dort das erste Gemälde erscheinen, weißer Kreis mit schwarzem Rand auf grüner Leinwand ... "It works!"
Angehängte Grafiken
 

Geändert von Chriz (09.12.2009 um 23:35 Uhr).
Chriz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.12.2009, 09:36  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Als ich Imagick installiert habe funktionierte es auch noch unter XAMPP, kann aber auch an der neueren Version liegen.

lg
draco
draco88 ist offline   Mit Zitat antworten
Alt 10.12.2009, 10:31  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.065
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

War das auch ein Windows-System? Das Problem ist eben der Rattenschwanz. Imagick selbst ist mit VC9 kompiliert und es gibt keine aktuelle VC6-Variante, weshalb du auch ein PHP mit VC9 brauchst und damit soweit ich das verstanden habe (bin ja kein C++-Programmierer bzw. System-Admin) brauchst du auch einen Apache, der so kompiliert wurde.

Sonst gibt's nämlich diese Meldung:
Zitat:
PHP Startup : imagick: Unable to initialize module
Module compiled with build ID=API 20090626, TS, VC9
PHP compiled with build ID=API, TS, VC6
These options need to match.
Mikkos Antwort dazu:
Zitat:
Mikko Koppanen on November 2, 2009 - 1:42 pm
I don’t have VC6 compiler [..]

Geändert von Chriz (10.12.2009 um 10:34 Uhr).
Chriz ist offline   Mit Zitat antworten
Alt 10.12.2009, 10:55  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Ich hab es letztes(oder war es schon vorletztes?) Jahr gemacht, da war Imagick wahrscheinlich noch mit VC6 Compiliert. Und ja es war unter Win XP. Aber bevor ich mir die Installation antuhe bleib ich lieber bei der älteren Version, solange Sie ohne Probleme läuft. Wie heißt es so schön: Don't touch a running system

lg
draco
draco88 ist offline   Mit Zitat antworten
Alt 14.12.2009, 23:18  
Neuer Benutzer
 
Registriert seit: 14.12.2009
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Rossi befindet sich auf einem aufstrebenden Ast
Standard

Hey, danke für dein Tutorial, ohne dich hätt ich wohl noch ewigkeiten gebraucht, bis ich imagick zum laufen gebracht hätte.
Aber nun hab ich ein Problem, was eig nichts mit dem Thema zu tun hat, aber ich habe jetzt leider nach bisschen suchen keine Lösung gefunden.

Der Server (Apache 2.2.14), PHP 5.3 / VC9 und imagick funktionieren einwandfrei, aber nun habe ich ein Problem mit MySQL (bei XAMPP hat das vorher reibungslos funktioniert, aber XAMPP habe ich jetzt komplett deinstalliert). Ich habe mir den MySQL Community Server 5.1.41 runtergeladen und installiert, was soweit noch einwandfrei funktioniert (kann darauf zugreifen, auch über ein interface u. dbs erstellen, etc). Aber nun kann ich über PHP nicht mehr darauf zugreifen, wenn ich auf eine DB zugreifen will scheint es ein timeout zu geben (es ladet die seite ur lang und dann wird eine leere angezeigt). Ich hab schon geschaut, im php.ini file sind die mysql.dlls eingetragen und werden auch bei phpinfo(); angezeigt.
Das einzige was bisschen komisch is, es zeigt an Client version: mysqlnd 5.0.7-dev, da habe ich mir gedacht, vllt. liegt das an der Version und auf Apache :: Available php_mysql(i).dll for PHP 5.2.9+ and MySQL 5.1.30+ auch eine neuere dll gefunden, aber wenn ich die dann in den ext ordner gebe und dann den Server restarte kommt ein error...
Hoffe irgendjemand kann mir helfen, hab echt keine Ahnung mehr, was ich noch machen könnte und brauche mysql.
Rossi ist offline   Mit Zitat antworten
Alt 14.12.2009, 23:46  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Auch wenn das php 5.2.9+ ist, denke ich die sind wohl kaum für php 5.3 geeignet, da 5.3 ein komplett neuer zweig ist.

zeig doch mal was genau in deiner phpinfo alles zu mysql zu finden ist ? ich kann mir irgendwie nicht vorstellen dass ein php 5.3 mit ner mysql-extension daherkommt die mit aktuellen mysql-versionen nicht klarkommt, vor allem wenn mysqlnd als backend eingesetzt wird, das ja von mysql selbst für php entwickelt wurde und default für php 5.3 ist anstatt libmysql.

wie schaut es denn bei der konfiguration von mysql aus ? mit was kommst du drauf ? lauscht mysql überhaupt auf einer ip+port ? oder nur via socket ? vielleicht nur auf localhost ? oder nur einer festen ip ? ....

kommst du mit irgendwas anderem drauf ?

das 5.0.7 müsste imho die version von mysqlnd sein und nicht direkt in einem verhältnis zur mysql-version stehen mit der sie zusammenarbeitet.
robo47 ist offline   Mit Zitat antworten
Alt 15.12.2009, 00:13  
Neuer Benutzer
 
Registriert seit: 14.12.2009
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Rossi befindet sich auf einem aufstrebenden Ast
Standard

Also es ist zurzeit alles nur auf meinem rechner, also localhost.
ServerName in der Apache conf ist auf localhost:80

Auf meine MySQL-dbs kann ich mittels MYSQL Workbench (5.2.10 Beta) (Hostname: 127.0.0.1, Port: 3306, username: root) und CMD zugreifen.

Bezüglich den MySQL einstellungen, ich weiß nicht so genau, hab eig die Standardeinstellungen gelassen (also "Enable TCP/IP Networking Port: 3306", "Enable Strict Mode")

Und hier meine phpinfo()
Code:
mysql
MySQL Support	enabled
Active Persistent Links 	0
Active Links 	0
Client API version 	mysqlnd 5.0.7-dev - 091210 - $Revision: 291947 $

Directive	Local Value	Master Value
mysql.allow_local_infile	On	On
mysql.allow_persistent	On	On
mysql.connect_timeout	60	60
mysql.default_host	no value	no value
mysql.default_password	no value	no value
mysql.default_port	no value	no value
mysql.default_socket	no value	no value
mysql.default_user	no value	no value
mysql.max_links	Unlimited	Unlimited
mysql.max_persistent	Unlimited	Unlimited
mysql.trace_mode	Off	Off

mysqli
MysqlI Support	enabled
Client API library version 	mysqlnd 5.0.7-dev - 091210 - $Revision: 291947 $
Active Persistent Links 	0
Inactive Persistent Links 	0
Active Links 	0

Directive	Local Value	Master Value
mysqli.allow_local_infile	On	On
mysqli.allow_persistent	On	On
mysqli.default_host	no value	no value
mysqli.default_port	3306	3306
mysqli.default_pw	no value	no value
mysqli.default_socket	no value	no value
mysqli.default_user	no value	no value
mysqli.max_links	Unlimited	Unlimited
mysqli.max_persistent	Unlimited	Unlimited
mysqli.reconnect	Off	Off

mysqlnd
mysqlnd	enabled
Version 	mysqlnd 5.0.7-dev - 091210 - $Revision: 291947 $
Compression 	supported
Command buffer size 	4096
Read buffer size 	32768
Read timeout 	31536000
Collecting statistics 	Yes
Collecting memory statistics 	No
Rossi ist offline   Mit Zitat antworten
Alt 16.12.2009, 09:06  
Neuer Benutzer
 
Registriert seit: 14.12.2009
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Rossi befindet sich auf einem aufstrebenden Ast
Standard

Ok, Problem ist gelöst, hat nur daran gelegen, dass ich localhost statt 127.0.0.1 geschrieben habe in PHP -.-
Rossi ist offline   Mit Zitat antworten
Alt 02.01.2010, 22:08  
Neuer Benutzer
 
Registriert seit: 02.01.2010
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
deskareas befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für all die Mühe Dir schon bisher gemacht hast.

Ich hab Deinen Thread nach einigem testen und suchen gefunden.
Prinzipiell wäre es aber schon möglich einer bestehenden Xampp Umgebung all benötigten Elemente auszutauschen, oder?
Ich scheu noch davor zurück Deinen Weg zu probieren, eigentlich wollte ich ja nur
Create a video preview as animated GIF with FFmpeg and PHP SPL testen.
deskareas ist offline   Mit Zitat antworten
Alt 02.01.2010, 22:36  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.065
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Mit Bestimmtheit kann ich es dir nicht sagen, ich hatte nur diese Seite als Referenz verwendet:
http://valokuva.org/?page_id=50
Und da werden nur VC9 Builds angeboten. Üblicherweise verwendet man ja Windows nur für die Entwicklungsumgebung, das Live-System ist ja dann doch meistens Linux. Insofern kannst du dieses kleine Skript ja einfach mal direkt in deiner Live-Umgebung testen.
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

LinkBacks (?)
LinkBack to this Thread: http://www.php.de/tutorials/62106-windows-apache-php-imagick.html
Erstellt von For Type Datum
[PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 - Forum PHP.pl This thread Refback 09.06.2011 20:43
[PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 - Forum PHP.pl This thread Refback 10.03.2011 11:09
Forum PHP.pl > [PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 This thread Refback 27.01.2011 12:48
Forum PHP.pl > [PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 This thread Refback 13.01.2011 17:15
Forum PHP.pl > [PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 This thread Refback 24.12.2010 21:36
[PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 - Forum PHP.pl This thread Refback 07.12.2010 02:55
[PHP]Instalacja IMagick (biblioteka dll) - Win7, Apache2.2.15, PHP5.3.3 - Forum PHP.pl This thread Refback 04.11.2010 17:05
Image Magick lässt sich nicht in PHP einbinden This thread Refback 27.07.2010 18:14
Imagick vom USB-Stick - Forum: phpforum.de This thread Refback 06.07.2010 18:01
Imagick vom USB-Stick - Forum: phpforum.de This thread Refback 06.07.2010 02:58
Imagick Windows Builds This thread Refback 15.02.2010 04:19
Imagick Windows Builds This thread Refback 08.02.2010 23:14
Imagick Windows Builds This thread Refback 08.02.2010 22:07
Imagick Windows インストールと利用 - Sns Netのホームページ BLOG This thread Refback 27.01.2010 07:56
SNSのホームページ This thread Refback 13.01.2010 09:59
Windows + Apache + PHP + Imagick - php.de This thread Refback 30.12.2009 10:22
Imagick Windows Builds This thread Refback 12.12.2009 22:27
Imagick Windows Builds This thread Refback 12.12.2009 15:13

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Virtual Hosts (vhosts) einrichten unter Windows Zergling-new Tutorials 11 12.12.2011 20:35
Apache optimieren was die Geschwindigkeit angeht cn-systems Server, Hosting und Workstations 4 06.10.2008 22:05
[Erledigt] WAMP unter Windows 2000 Server oder Windows 2003 Server Mecronomecon Server, Hosting und Workstations 3 18.06.2008 09:15
MySQL in PHP integrieren (Windows 2003 Server ohne Apache) Plague Server, Hosting und Workstations 3 30.08.2007 21:56
Konfigurationssoftware für Windows Apache Buschdieb Server, Hosting und Workstations 5 08.06.2006 07:50
Apache Windows - php.ini memory_limit wird ignoriert DonTermi Server, Hosting und Workstations 3 26.01.2006 07:53
Apache / sql Server auto start unter Windows CHRIS PHP Tipps 2007 2 28.12.2005 10:17
PHP unter Windows XP mit Apache lauffähig machen ??? PHP Tipps 2007 8 06.11.2005 00:05
PHP bei Apache 1.3.33 Windows einrichten PHP Tipps 2005-2 1 28.10.2005 09:37
[Erledigt] windows 2000 server - apache geht nicht Datenbanken 3 27.09.2005 18:36
[Erledigt] browsererkennung; wie kann man einen firefox von... PHP Tipps 2005-2 17 25.07.2005 22:35
Festplatten-, Windows, PartitionMagic, SuSE-Linux - Problem Quadaptor Off-Topic Diskussionen 14 09.04.2005 19:01
php Warnung nach Apache Update PHP Tipps 2005 2 07.02.2005 13:38
Welche Version von Apache für Windows 2000 Server, Hosting und Workstations 1 17.11.2004 08:31
[Erledigt] PHP Modul in Apache laden Server, Hosting und Workstations 4 09.08.2004 11:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php_imagick_ts.dll, imagick, php imagemagick tutorial, imagemagick php windows, php imagick tutorial, imagemagick php tutorial, imagick vc6, php_imagick.dll vc6, php imagick, imagick tutorial, imagick php, php_imagick_ts.dll vc6, http://www.php.de/tutorials/62106-windows-apache-php-imagick.html, imagemagick windows apache, imagick php windows, mysql vc9 64bit, xampp php_imagick.php, windows apache php, php imagick windows, php_ldap.dll ts vc6

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum