Edit/Update
: Après la lecture et de voir plus de votre structure, je donnerais un coup de feu et essayez d'utiliser un chemin ABSOLUTE
plutôt qu'un par rapport à assurer son écriture à l'emplacement d'écriture. Désolé, j'ai raté cette partie plus tôt. Ce n'est évidemment pas la meilleure pratique, mais il faudrait au moins préciser s'il s'agit ou non d'une question de permission/conclusion.
changer donc à quelque chose comme
$index = Zend_Search_Lucene::create('/path/to/public_html/public/data/users_index');
Bien que, vous devriez vraiment mettre cela en dehors du dossier HTML public. Il n'y a aucune raison pour que le public ait accès à vos fichiers d'index Lucene.
Par exemple, le mien sont stockés ici:
'../application/models/lucene/articles/index'
Si vous êtes sur une machine Linux/Unix, vous allez devoir CHMOD le dossier ou CHOWN/chgrp afin que le serveur Web a un accès en écriture. Si vous avez accès au serveur, vous pouvez simplement lancer:
chmod -R 770 /path/to/your/data/users_index
Si vous n'êtes pas l'administrateur du serveur cependant, vous devriez probablement demander à l'administrateur du serveur pour vous assurer que ce sont les autorisations appropriées à appliquer à ce dossier, chaque administrateur a ses propres caprices sur la façon dont ils veulent l'installation des autorisations de dossier; dans quel groupe ils devraient être; qui arrive à le changer;
Si vous êtes sur un ordinateur Windows, vous devrez cliquer avec le bouton droit de la souris sur le dossier et accorder des autorisations au compte IUSR_XXXXX
et leur donner accès en lecture/écriture à ce dossier. (Remplacez XXX par le nom de votre machine)
Dans la plupart des applications ZF vous avez un APPLICATION_PATH défini - utilisez-le - APPLICATION_PATH. '/ Models/lucene/articles/index' – gnarf
En fait je l'ai changé en $ index = Zend_Search_Lucene :: create ('data/users_index'); et il fonctionne. Bizarre. Sur ma machine locale ce n'est pas grave si je mets une barre oblique au début ou non ... –