PHP, exécution .sh, compilation latex
Résolu
A voir également:
- PHP, exécution .sh, compilation latex
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Antislash latex ✓ - Forum Programmation
- Microsoft excel attend la fin de l'exécution d'une action ole d'une autre application ✓ - Forum Word
- Retour a la ligne php ✓ - Forum PHP
1 réponse
Le problème vient à mon avis est double :
1) Tout d'abord ton script utilise des chemins relatifs, il faudrait être le chemin absolu, ou du moins se positionner contenant les fichiers tex, dvi et sh. Si ce répertoire est en dehors de l'arborescence apache, il y a des chances que ça rate car un serveur ne peut normalement pas de sortir de son RootDirectory pour des raisons de sécurité. Les chemins absolus qu'on passe au script php sont d'ailleurs définis par rapport à ce répertoire.
2) le fichier dvi doit être généré dans un répertoire qui n'appartient pas à l'utilisateur avec lequel ton serveur web tourne. Par exemple apache a des chances de tourner en utilisateur www-data tandis que ton fichier latex et le répertoire dans lequel tu génères le dvi appartiennent à un autre utilisateur.
Bonne chance
1) Tout d'abord ton script utilise des chemins relatifs, il faudrait être le chemin absolu, ou du moins se positionner contenant les fichiers tex, dvi et sh. Si ce répertoire est en dehors de l'arborescence apache, il y a des chances que ça rate car un serveur ne peut normalement pas de sortir de son RootDirectory pour des raisons de sécurité. Les chemins absolus qu'on passe au script php sont d'ailleurs définis par rapport à ce répertoire.
2) le fichier dvi doit être généré dans un répertoire qui n'appartient pas à l'utilisateur avec lequel ton serveur web tourne. Par exemple apache a des chances de tourner en utilisateur www-data tandis que ton fichier latex et le répertoire dans lequel tu génères le dvi appartiennent à un autre utilisateur.
Bonne chance
Je te tiens informer.
En admettant que le RootDirectory de ton vhost apache soit /var/www :
Assure-toi qu'apache peut lire ces deux fichiers. S'il correspond à l'utilisateur www-data
Ensuite, si ton script est invoqué par apache via un interpréteur shell explicite (genre au lieu de ) c'est suffisant. Dans le 2e cas il faut en plus donner les droits en exécution :
En tout cas il est important de retenir une chose : il faut éviter d'augmenter les droits d'apache, c'est le meilleur moyen d'avoir un trou de sécurité. Il vaut mieux lui donner les moyens d'accéder avec ses droits à l'information pertinente.
Bonne chance