Edit/Update
: Nach dem weiteren Lektüre und Ihre Struktur zu sehen, würde ich es versuchen und versuchen, einen ABSOLUTE
Pfad anstatt eine relativ sein Schreiben an die Schreibstelle zu gewährleisten. Entschuldigung, ich habe diesen Teil früher verpasst. Es ist natürlich nicht die beste Vorgehensweise, aber es würde zumindest eingrenzen, ob es sich um ein Erlaubnis/Befund-Problem handelt oder nicht.
es so etwas wie
ändern
$index = Zend_Search_Lucene::create('/path/to/public_html/public/data/users_index');
Obwohl, sollten Sie wirklich, dass außerhalb der öffentlichen HTML-Ordner. Es gibt keinen Grund, dass die Öffentlichkeit Zugang zu Ihren Lucene-Index-Dateien haben sollte.
Zum Beispiel Mine werden hier gespeichert:
'../application/models/lucene/articles/index'
Wenn Sie auf einem Linux/Unix-Maschine sind, werden Sie den Ordner oder CHOWN/chgrp, so dass die Web-Server müssen CHMOD hat Schreibzugriff. Wenn Sie den Zugriff auf den Server haben, können Sie einfach laufen:
chmod -R 770 /path/to/your/data/users_index
Wenn Sie jedoch nicht der Administrator des Servers sind, sollten Sie den Server-Administrator bitten, um sicherzustellen, das die richtigen Berechtigungen zu angewendet werden In diesem Ordner hat jeder Admin seine eigenen Macken, wie er Ordner-Berechtigungen einrichten möchte; In welcher Gruppe sollten sie sein? wer kann es ändern? usw.
Wenn Sie sich auf einem Windows-Rechner befinden, müssen Sie mit der rechten Maustaste auf den Ordner klicken und Berechtigungen für das Konto IUSR_XXXXX
erteilen und ihnen Schreib-/Lesezugriff auf diesen Ordner erteilen. (Ersetzen Sie XXX durch was auch immer Ihr Maschinen Name ist)
In den meisten ZF-Anwendungen haben Sie einen APPLICATION_PATH definiert - benutzen Sie ihn - APPLICATION_PATH. '/ Models/lucene/articles/index' – gnarf
Eigentlich habe ich ihn in $ index = Zend_Search_Lucene :: create ('data/users_index'); und es funktioniert. Seltsam. Auf meiner lokalen Maschine ist es egal, ob ich am Anfang einen Schrägstrich setze oder nicht ... –