Je teste sur localhost une application développée en Php qui accède à la base de données Dolibarr en utilisant l’api Rest.
Les méthodes GET et POST fonctionnent. Par contre dés que j’utilise PUT le message 405 Method Not Allowed s’affiche.
J’ai pourtant saisi dans le fichier .htaccess les commandes suivantes :
Limit GET POST OPTIONS PUT DELETE
Order allow,deny
Allow from all
/Limit
J’ai placé le fichier .htaccess sous le répertoire htdocs de Dolibarr.
La plate forme Lamp est fournie par Laragon avec :
Apache httpd-2.4.35-win64-VC15
php-7.2.19-Win32-VC15-x64
mysql-5.7.24-winx64
Merci de me proposer une solution qui puisse résoudre cette difficulté.
Cordialement
Le problème est-il présent sur tous les points de terminaison API faisant appel à la méthode PUT ?
Arrivez-vous à envoyer les requêtes depuis l’explorateur d’API Dolibarr ? (/api/index.php/explorer/#/)
Lorsque je vais sur le lien de l’explorer on me signale que le fichier swagger.json ne peut pas être lu.
Avec ou sans htaccess le résultat est identique.
Pour information, depuis je suis passé sous Windows 10 Pro et je ne rencontre plus le problème, je suis en revanche incapable de dire ce qui a permis de le résoudre entre le passage à Windows 10, ma version de Wampserver ou celle de Dolibarr.
Actuellement ma configuration est la suivante :
Windows 10 pro
Wampserver 3.1.9 64bit
PHP 5.6.40
Dolibarr 11.0.2
En revanche, en consultant le fil où j’avais exposé mon problème, je suis tombé sur ça :
@potiron Je pense que le problème a été réglé non pas par la mise à jour de Windows mais plutôt par la mise à jour de Dolibarr (le post d’origine étant assez ancien).
@laradev92 Vous pouvez aussi vérifier l’intégrité des fichiers de Dolibarr pour vous assurer qu’il n’en manque aucun par le menu Outils d’administration > Infos Dolibarr > Vérification de l’intégrité des fichiers.
Sachant que avec une autre application la methode Put entraine la meme erreur, je pense que Dolibarr n’est pas en cause.
Le paramétrage d’Apache doit etre la cause de cette anomalie.
Aussi j’ai modifié dans httpd.conf la directive AllowOverride :
AllowOverride All
le fichier htaccess placé sous dolibarr/htdocs contient :
Je ne pense pas que Laragon paramètre Apache par défaut pour qu’il interdise la méthode PUT (ni n’importe quelle méthode HTTP d’ailleurs).
Avez-vous essayé sans aucune modification (ni dans la config de base httpd.conf ni .htaccess) car cela fonctionne normalement bien sans avoir besoin de bidouiller avec la configuration par défaut.
J’ai saisi la commande : AllowOverride Limit dans httpd.conf et la commande Require valid-user dans htaccess aprés la balise Limit PUT DELETE.
Le message n’apparait plus, donc la commande PUT n’est plus bloquée par Apache. Par contre dans la table la mise à jour ne fonctionne pas.