`zend_extension` php.ini uses different path discovery than `extension`
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
Steps to reproduce:
File structure:
- ./ - current directory
- ./php-8.1.12-nts-Win32-vs16-x64 - extracted from official Windows download
- ./php-8.1.12-nts-Win32-vs16-x64\ext\php_xdebug.dll - downloaded from official xdebug website
When I run .\php-8.1.12-nts-Win32-vs16-x64\php.exe -d xdebug.mode=coverage -d extension=ext/php_xdebug test.php I get:
Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
... (xdebug is working, output from test.php code)
When I run .\php-8.1.12-nts-Win32-vs16-x64\php.exe -d xdebug.mode=coverage -d zend_extension=ext/php_xdebug.dll test.php I get:
Warning: Failed loading Zend extension 'ext/php_xdebug.dll' (tried: C:\php\ext\ext/php_xdebug.dll (The specified module could not be found), C:\php\ext\php_ext/php_xdebug.dll.dll (The specified module could not be found)) in Unknown on line 0
Fatal error: Uncaught Error: Call to undefined function xdebug_start_code_coverage() in C:\Users\mvorisek\Desktop\forks\cov-php81-debug\test.php:5
Stack trace:
#0 {main}
thrown in C:\Users\mvorisek\Desktop\forks\cov-php81-debug\test.php on line 5
I would expect exactly the same extension discovery for extension and zend_extension.
(and I can confirm zend_extension with absolute php_xdebug.dll path is working)
PHP Version
PHP 8.1.12 NTS Win x64
Operating System
Windows 10
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire les deux lignes de commande Windows avec le build PHP 8.1.12 NTS et comparez la gestion des chemins relatifs pour extension et zend_extension. Suivez les points d’entrée du chargement des extensions et leur comportement de résolution des chemins ; le travail est terminé lorsque les deux directives trouvent le même chemin relatif vers la DLL sans modifier le comportement pour les chemins absolus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, php
- Domaine
- backend, operating-systems
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100