Zend_Search_Lucene - Невозможно создать каталог '/ data / users_index' - PullRequest
2 голосов
/ 11 августа 2009

У меня проблема с созданием индекса с помощью Zend_Search_Lucene.

Теперь на моем локальном компьютере все работает нормально, так что, я думаю, есть проблема с правами доступа к файлам на веб-сервере.

Вот как я пытаюсь создать индекс в контроллере:

$index = Zend_Search_Lucene::create('/data/users_index');

Конечно, каталог данных имеет разрешения, установленные на 0777. Вот список каталогов:

public_html
    public      0755
        css     0755
        js      0755
        data    0777

Все же я получаю эту ошибку:

Невозможно создать каталог '/data/users_index'.

Ответы [ 2 ]

3 голосов
/ 11 августа 2009

Edit/Update: После дальнейшего чтения и просмотра вашей структуры я бы попробовал использовать путь ABSOLUTE, а не родственника, чтобы обеспечить его запись в место записи. Извините, что пропустил эту часть ранее. Это, очевидно, не лучшая практика, но она как минимум сузит вопрос о разрешении / поиске.

Так что поменяйте его на что-то вроде

$index = Zend_Search_Lucene::create('/path/to/public_html/public/data/users_index');

Хотя вы действительно должны поместить это за пределы общедоступной папки HTML. Нет никаких причин, по которым публика должна иметь доступ к вашим индексным файлам Lucene.

Например, здесь хранятся мои:

'../application/models/lucene/articles/index'

Если вы работаете на компьютере с Linux / Unix, вам потребуется CHMOD для папки или CHOWN / CHGRP, чтобы веб-сервер имел доступ для записи. Если у вас есть доступ к серверу, вы можете просто запустить:

chmod -R 770 /path/to/your/data/users_index

Однако, если вы не являетесь администратором сервера, вам, вероятно, следует попросить администратора сервера убедиться, что это правильные разрешения, применяемые к этой папке, у каждого администратора есть свои причуды в отношении того, как они хотят иметь разрешения для папки. настроить; в какой группе они должны быть; кто может это изменить; и т. д.

Если вы работаете на компьютере с Windows, вам нужно будет щелкнуть правой кнопкой мыши папку и предоставить разрешения учетной записи IUSR_XXXXX и предоставить им доступ на чтение / запись к этой папке. (Замените XXX на имя вашей машины)

0 голосов
/ 11 августа 2009

$ index = Zend_Search_Lucene :: create ('public / data / users_index');

??

...