Je n'ai pas trouvé de définition de ce que le répertoire courant est bien que l'analyse d'un php.ini fichier, ce post suggère que c'est par rapport à la php.ini emplacement des fichiers.
Merci Anders, j'ai pensé, mais je ne sais pas si c'est php.ini du répertoire courant, ou si c'est autre chose du répertoire courant, peut-être php moteur de fichier (je ne sais pas si c'est le terme) ou (probablement pas) apache... :S C'était une question beaucoup plus difficile, j'ai mis à jour ma réponse avec une source, mais je n'ai pas été en mesure de le vérifier. Hey Anders, je ne sais pas si c'est une bonne pratique ou pas, mais puisque la modification de la "ext = /." pour quelque chose d'autre était en rupture avec les autres extensions (que je ne pouvais pas trouver n'importe où). J'ai fini par utiliser la structure de répertoire sur l'extension=/mon/répertoire/structure/extension.donc, et cela a fonctionné. Merci pour votre aide! 🙂
Pour une utilisation plus facile, essayez ceci: php -r 'phpinfo();' | grep extension_dir Trouver le répertoire est une chose, mais comprendre pourquoi il utilise que l'on est encore un peu mystérieux pour moi (la valeur en php.ini est commenté par défaut). La Mine se trouve être dans la /etc/lib64/php/modules/, ce qui est évidemment une caractéristique de l'architecture 64 bits. Découvrez la partie inférieure de ma réponse et de voir si cela répond à votre question.
Il semble que le "répertoire courant", si tant est que PHP est concerné, quel que soit le répertoire "pwd" imprime.
La meilleure façon de voir cela est de lancer php -r 'echo getcwd();'
Je peux aussi déterminer que c'est en tapant zend_extension="xdebug.so" à l'intérieur de mon php.ini . Ensuite, j'ai créer deux dossiers n'importe où: Un vide, et l'autre je copie mon xdebug.ainsi dans.
Quand j'ouvre un terminal à l'intérieur de mon dossier vide et exécuter php, il génère un avertissement de ne pas être en mesure de trouver xdebug.. En revanche, si j'ouvre le terminal dans le dossier de l'extension et de l'exécution de php à l'invite de commandes, il n'y a pas d'avertissements.
Je n'arrivais pas à déterminer d'où il correspond à lors de l'exécution de php avec apache. J'ai essayé la racine du document, HTTPD_ROOT, /usr/bin. Rien. Je suis en train de faire cette remarque au cas ou quelqu'un qui en sait plus sur apache peut jeter quelque lumière sur ce point.
Autant que, extension_dir l'emplacement par défaut. Qui est compilé. Vous pouvez trouver la valeur de votre extension_dir par trouver le fichier build-defs.h. Elle est définie dans la macro PHP_EXTENSION_DIR construire-defs.h est créé par un fichier de modèle au cours de l'étape de configuration de la compilation.
./
pointe vers le répertoire courant.Modifier
Je n'ai pas trouvé de définition de ce que le répertoire courant est bien que l'analyse d'un
php.ini
fichier, ce post suggère que c'est par rapport à laphp.ini
emplacement des fichiers.C'était une question beaucoup plus difficile, j'ai mis à jour ma réponse avec une source, mais je n'ai pas été en mesure de le vérifier.
Hey Anders, je ne sais pas si c'est une bonne pratique ou pas, mais puisque la modification de la "ext = /." pour quelque chose d'autre était en rupture avec les autres extensions (que je ne pouvais pas trouver n'importe où). J'ai fini par utiliser la structure de répertoire sur l'extension=/mon/répertoire/structure/extension.donc, et cela a fonctionné. Merci pour votre aide! 🙂
OriginalL'auteur Anders Lindahl
Simplement en ajoutant dans pour de futures recherches
De course
phpinfo
sur lecli (php -a<enter>phpinfo();<enter>)
m'a donné, entre la sortie.php -r 'phpinfo();' | grep extension_dir
Trouver le répertoire est une chose, mais comprendre pourquoi il utilise que l'on est encore un peu mystérieux pour moi (la valeur en
php.ini
est commenté par défaut). La Mine se trouve être dans la/etc/lib64/php/modules/
, ce qui est évidemment une caractéristique de l'architecture 64 bits.Découvrez la partie inférieure de ma réponse et de voir si cela répond à votre question.
OriginalL'auteur user1426119
Il semble que le "répertoire courant", si tant est que PHP est concerné, quel que soit le répertoire "pwd" imprime.
La meilleure façon de voir cela est de lancer
php -r 'echo getcwd();'
Je peux aussi déterminer que c'est en tapant
zend_extension="xdebug.so"
à l'intérieur de mon php.ini . Ensuite, j'ai créer deux dossiers n'importe où: Un vide, et l'autre je copie mon xdebug.ainsi dans.Quand j'ouvre un terminal à l'intérieur de mon dossier vide et exécuter
php
, il génère un avertissement de ne pas être en mesure de trouver xdebug.. En revanche, si j'ouvre le terminal dans le dossier de l'extension et de l'exécution de php à l'invite de commandes, il n'y a pas d'avertissements.Je n'arrivais pas à déterminer d'où il correspond à lors de l'exécution de php avec apache. J'ai essayé la racine du document, HTTPD_ROOT, /usr/bin. Rien. Je suis en train de faire cette remarque au cas ou quelqu'un qui en sait plus sur apache peut jeter quelque lumière sur ce point.
Autant que, extension_dir l'emplacement par défaut. Qui est compilé. Vous pouvez trouver la valeur de votre extension_dir par trouver le fichier
build-defs.h.
Elle est définie dans la macroPHP_EXTENSION_DIR
construire-defs.h est créé par un fichier de modèle au cours de l'étape de configuration de la compilation.OriginalL'auteur joelliusp