Avec Zend Studio 4 il est possible de déboguer ses sites et apllications PHP sans avoir de moteur PHP sur sa machine. Zend Studio utilisant son propre PHP en CGI.
Toutefois il n'est possible d'utiliser ce moteur de déboguage qu'avec les fonctions PHP dites "de base", c'est à dire sans qu'aucune extension ne soit nécessaire.
Démonstration
Essayez de compiler le code suivant avec l'installation de base de Zend:
<?php
$connect_host = "localhost";
$connect_port = "5432";
$connect_db = "dbname";
$connect_user = "dbuser";
$connect_pass = "dbpass";
pg_connect("pgsql:host=$connect_host port=$connect_port dbname=$connect_db user=$connect_user password=$connect_pass");
?>
Voici un apreçu du message de Zend Studio:
Call to undefined function pg_connect();
Ce message d'erreur de PHP signifie que la fonction pg_connect n'est pas définie; en effet cette fonction n'est présente que dans l'extension PostGreSQL et n'est pas inclue dans le noyau de PHP.
Afin d'utiliser ce genre de fonctions, il vous est nécessaire de télécharger le moteur PHP. Deux solutions s'offrent ensuite à vous:
1/ Mettre le moteur PHP dans le dossier de Zend Studio où se situe le CGI: [ZendStudio Path]\bin\php[4/5] en prenant soin de ne PAS écraser les fichiers deja présents.
2/ Mettre le moteur PHP dans un autre dossier afin de pouvoir le réutiliser comme bon vous semble sans vous heurter au CGI modifié de Zend Studio (idéalement C:\PHP).
Ensuite il ne vous reste plus qu'a modifier le fichier php.ini qu'utilise Zend Studio ([ZendStudio Path]\bin\php[4/5]\php.ini) et de rajouter les lignes suivantes:
extension_dir= "[PHP Path]\ext\"
extension = [Dll name].dll
Exemple concret:
extension_dir="C:\PHP\ext\"
extension=php_pgsql.dll
Et voilà, vous pouvez maintenant utiliser les fonctions avancées de PHP avec le moteur de déboguage de Zend Studio.