Config Apache / Script PHP de génération .odt

Salut,

Je travaille sur une appli web qui doit pouvoir générer des documents .odt et les faire télécharger sur les postes clients. J’utilise ODT-PHP(ohloh.net/p/odtphp) qui fonctionne très bien sur mon pc en local. Par contre, sur le serveur, la génération de l’.odt provoque une erreur 500.

Les droits sont pourtant identiques sur les deux machines.

Je penche donc pour un problème de configuration d’Apache. Je me demande si ce n’est pas le serveur qui empêche la génération de documents en odt.

Est-ce que le script qui génère le .odt peut être lu (+r) et exécuté (+x) ?

Oui, les droits sont définis en 755 sur les deux pc pour toute l’arborescence.

Je viens d’essayer de changer la façon dont j’importe le script en utilisant des chemins absolus à la place des relatifs. Même problème.

$root = $_SERVER['DOCUMENT_ROOT'];
require_once($root."/phpodt/odf.php");
$odf = new odf($root."/modeles/document.odt");

Ce qui est étrange c’est que le code et les droits d’accès sont identiques sur les deux systèmes. L’un fonctionne et l’autre pas…

Apparement, le script essayait de créer un répertoire à la racine du site pour y copier des fichiers temporaires en attente d’être paquetés en .odt.

Sur la machine de dev, la racine appartenait au groupe www-data donc cela fonctionnait. Par contre, sur le serveur toute l’arborescence appartient à www-admin d’où le blocage.

J’ai modifié le script pour qu’il écrive dans un répertoire détenu par www-data et ça à l’air presque bon. Il ne me reste plus qu’une exception incomprehensible lors de la génération de xml à gérer.