Je suis intéressé à faire une application qui peut déterminer automatiquement quels fichiers sont inclus dans PHP. Ce que je veux dire, c'est que je voudrais faire une application C/C++ ou C# qui fonctionne en arrière-plan et que vous développez sur votre machine locale, elle peut afficher les fichiers inclus par PHP comme vous lancez des pages en cours d'exécution sur votre apache local. Ce que je pensais était de modifier la fonction dans le code source php, mais ensuite je pensais que ce serait une mauvaise idée car alors chaque nouvelle version de php, je devrais revenir en arrière et faire les mêmes modifications et je doute que tout le monde ferait cela. Donc, ma question est, est-il possible à distance d'obtenir tous les fichiers inclus que votre application php utilisé et puis en quelque sorte les afficher à l'utilisateur sans utiliser get_included_files() dans votre programme php?Aimeriez-vous faire un php get_include_files() améliorations
Répondre
Vous pourriez sortir complètement de PHP et compter sur le système d'exploitation sous-jacent pour rapporter ces détails. Il serait difficile de faire correspondre la demande à l'inclusion mais cela ne fonctionnerait que dans une situation de développement. Si le système d'exploitation est Linux/UNIX, vous pouvez exécuter strace sur l'exécutable (en supposant que vous utilisiez Apache avec mod_php, d'autres situations plus difficiles). Si le système d'exploitation est Windows, je ne sais pas quoi utiliser, mais l'un des utilitaires SysInternals possibles (la plupart sont GUI mais il existe probablement une console équivalent à strace ou une version de strace pour Windows).
Une autre option serait d'utiliser xdebug. Il vous montrerait beaucoup plus d'informations, y compris les détails de profilage, l'utilisation de la mémoire, etc. Il est utilisé comme une extension PHP et il est facile de profiler une requête entière dans un instantané. Une fois que vous avez un fichier de trace, vous pouvez utiliser WinCacheGrind (Windows), kCacheGrin (UNIX, peut-être OS X aussi) et autre chose pour OS X. Je vous suggère d'essayer ceci car c'est l'approche la plus simple et puissante chercher à faire cela plutôt que de faire une programmation exploratoire.
Si vous êtes intéressé à faire des programmes d'exploration, mon itinéraire suggéré serait de regarder comment fonctionne Xdebug et voyez si vous pouvez écrire un crochet aux fonctions que vous voulez tracer.
- 1. alternatives/améliorations de JSplitPane
- 2. Nouvelles améliorations de vb.net?
- 3. Améliorations ou variantes de DiggSpy
- 4. Améliorations des performances C++ 0x
- 5. Interface utilisateur du curseur jQuery - Améliorations
- 6. faire un blog en utilisant php
- 7. Améliorations pour cet allocateur de pile C++?
- 8. PROCÉDURE STOCKÉE Calculs et améliorations des performances
- 9. Faire un objet PHP se comporter comme un tableau?
- 10. Que fait === faire en PHP
- 11. Suppression de la chaîne de requête pour les améliorations SEO
- 12. améliorations Open source ou le remplacement des composants Swing
- 13. Faire un index pour une recherche par PHP
- 14. Comment faire un strtr sur UTF-8 en PHP?
- 15. comment faire un processus PHP redémarrage automatique lorsqu'il est mort?
- 16. Comment faire un fichier pdf en utilisant PHP
- 17. Flash + PHP pour faire un formulaire de soumission?
- 18. comment faire un fichier PHP exécutable uniquement en mode CLI?
- 19. Comment apporter des améliorations aux paquets hébergés sur Cheeseshop (pypi)?
- 20. Améliorations de la productivité à l'aide des outils d'automatisation
- 21. Après une RewriteRule à un script PHP, faire une redirection interne depuis le PHP
- 22. Comment faire fonctionner APC (PHP Cache)?
- 23. Faire une réécriture supprimer .php extension?
- 24. php implode exploser peut le faire?
- 25. Comment faire un système référencé et récompensé par un ami en php?
- 26. Comment puis-je faire un script php ajouter un onglet à chaque ligne d'un fichier include?
- 27. OCMock: Faire un bout faire quelque chose
- 28. Faire un site Web avec des profils
- 29. Faire un diluant UITabBar
- 30. Faire un bouton rond