> Anyways, here's what's in Filesystem.php now from lines 189 through to 199
>
> if (!@chmod($this->_dirPath . '/' . $filename,
> self::$_defaultFilePermissions)) {
> var_dump($this->_dirPath . '/' . $filename);
> {
> ini_set('track_errors', $trackErrors);
> require_once 'Zend/Search/Lucene/Exception.php';
> throw new Zend_Search_Lucene_Exception($php_errormsg);
> }
> ini_set('track_errors', $trackErrors);
>
> return $this->_fileHandlers[$filename];
> }
>
> What I get now, after trying to create a new information object is this
> error:
>
> Parse error: syntax error, unexpected T_PUBLIC in
>
/home/david07/public_html/qubit/plugins/sfLucenePlugin/lib/vendor/Zend/Searc
> h/Lucene/Storage/Directory/Filesystem.php on line 209
No problem - you have two opening braces: one on line 189 and one on
line 191 - you still need to delete line 191
> Lines 202 through to 209 say
>
> /**
> * Removes an existing $filename in the directory.
> *
> * @param string $filename
> * @return void
> * @throws Zend_Search_Lucene_Exception
> */
> public function deleteFile($filename)
>
> So, what I'm now wondering, as there's something I hadn't mentioned, is
> whether this has to do with an Apache ownership issue. I noticed in some
of
> the directories that there's a mixture of owners on some of the files,
some
> are david07/david07 and others are nobody/nobody. I can't recall offhand
in
> which directories I saw this.
Ahh! This is probably it! I saw the mixed ownership, but the permissions
looked fine, so I didn't understand why it complains. I bet your files
are world readable / writable, but only the file owner can change
permissions? So when you installed Qubit, it was probably as the user
"david07", but Apache and PHP are probably running as the user "nobody".
The weird thing is that the call to chmod() is in a function
(createFile()) which creates a brand new file. So that file should be
owned by whatever user PHP is running as, hence PHP should have enough
permission to chmod().
The exception is probably thrown when calling createFile() on
data/index/en/read.lock.file - like you guessed - but until I see the
output of var_dump(), we're guessing. If it is
data/index/en/read.lock.file, then the directory listing you sent shows
me it's not only world readable / writable, it's also owned by nobody /
nobody, which is probably what PHP is running as. So there's no way PHP
should not have enough permission to chmod()
So I'm thinking it *must* be trying to chmod() some other file. If you
can send the var_dump() output, we'll know.