Bonjour,
je cherche comment demander à apache d'exécuter un script à chaque fois qu'il recois une requête pour afficher un fichier. Est-ce qu'il y a un moyen de faire ça ?
Bonjour,
je cherche comment demander à apache d'exécuter un script à chaque fois qu'il recois une requête pour afficher un fichier. Est-ce qu'il y a un moyen de faire ça ?
En renseignant ce script à la directive auto_prepend_file dans votre fichier php.ini ?
C'est dans l'optique de mettre à jour les fichiers du serveur avant leur exécution (c'est pour un serveur de dev qui mettra à jour depuis un SVN).
Ca pourrait fonctionner. Je testerai demain et je vous donnerais des nouvelles![]()
Merci bien, ca semble fonctionner.
Par contre pas totalement comme je voudrai.
Je souhaiterai faire s'exécuter une commande shell par php mais celle-ci s'arrête sur un simple warning (alors que cette commande continue à s'exécuter lorsque je la lance depuis la console). Je sais que je passe un peu HS mais est-ce que quelqu'un pourrait me dire s'il a une bonne idée contre ça ?![]()
Si vous pouviez détailler ... Le temps maximum d'exécution est atteint ? Apache ne possède pas tous les droits requis ? Autres ?
D'expérience, 3 choses à vérifier :
- Les droits d'exécution : il faut que l'utilisateur système exécutant Apache ait les droits d'accès et d'exécution du script
- L'environnement : l'environnement shell utilisé par PHP pour exécuter le script est minimaliste. En particulier, si tu définis des variables "custom" dans le fichier .profile ou .bash_profile, ces variables ne sont pas reprises. Il faut donc les ajouter au début du script à exécuter ou préparer un fichier à part qui est sourcé par le script et .profile. C'est le même qu'avec cron, si tu connais.
- Le temps d'exécution du script et la coupure des connexions : si le script met trop de temps à s'exécuter ou si le navigateur coupe la connexion HTTP avant que le script n'ait eu le temps de s'exécuter totalement, il sera interrompu en cours.
Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager