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.
Partager