Hi, mr. All!
When i installed MW-1.19.1 on my hosting i got error messages like
'rename() [function.rename http://fwiki.whitefossa.ru/index.php/function.rename]: SAFE MODE Restriction in effect. The script whose uid is 55398 is not allowed to access /var/tmp owned by uid 0 in */home/u48601/whitefossaru/fwiki/includes/upload/UploadStash.php* on line *173*'
when trying to upload any image.
Safe mode was turned OFF, but this error didn't disappear.
Investigations, made by me and Sir. Sheti sheti@furtails.ru revealed, that my hoster is completely moron. He uses one tempdir /var/tmp for all users of server, and, this directory belongs to root:root. Because it any modification in this directory fails. And, hoster don't allow to change this directory.
So, here is dirty workaround by Sheti:
1) Create temp directory in filesystem, accessible by you, than chmod -R 777 it
2) Locate file <mediawiki_dir>/includes/GlobalFunctions.php
3) Find function named 'wfTempDir()' and comment it (this function determines temp directory):
//Hoster are idiot, we must make temp yourself /* function wfTempDir() { foreach( array( 'TMPDIR', 'TMP', 'TEMP' ) as $var ) { $tmp = getenv( $var ); if( $tmp && file_exists( $tmp ) && is_dir( $tmp ) && is_writable( $tmp ) ) { return $tmp; } } if( function_exists( 'sys_get_temp_dir' ) ) { return sys_get_temp_dir(); } # Usual defaults return wfIsWindows() ? 'C:\Windows\Temp' : '/tmp'; } */
Than add new version of function:
//BEGIN PATCH function wfTempDir() { return '/home/u48601/whitefossaru/fwiki/temp'; //!!!! << FULL PATH TO YOUR TEMP MUST GO HERE !!!! } //END PATCH
4) Save file and locate <mediawiki_dir>/includes/uploads/UploadStash.php 5) Find function 'stashFile' and lines
if ( ! preg_match( "/\.\Q$extension\E$/", $path ) ) { $pathWithGoodExtension = "$path.$extension";
in it.
Comment out this lines.
Place between commented lines and 'if ( ! rename( $path, $pathWithGoodExtension ) ) {' next code:
//BEGIN PATCH //For moron hosters, who do not allow to work with file in tmp directory if ( ! preg_match( "/\.\Q$extension\E$/", $path ) ) { $file_basename = basename($path); $pathWithGoodExtension = wfTempDir().'/'.$file_basename.$extension; //END PATCH
This code will move uploaded file into our temp.
6) Enjoy. It's working, but it's very dirty! 7) Write you hoster testimonial email.
P.s. My hoster is Majordomo (Majordomo.ru, Russia).
On Tue, Jul 31, 2012 at 1:01 PM, Фосса fossa-artem@mail.ru wrote:
Hi, mr. All! foreach( array( 'TMPDIR', 'TMP', 'TEMP' ) as $var ) { $tmp = getenv( $var ); if( $tmp && file_exists( $tmp ) && is_dir( $tmp ) && is_writable( $tmp ) ) { return $tmp; } }
Did you try overriding these environment variables first?
Didn't, but i'm in the firm belief that it will not help, because hoster do not allow to change server-wide variables.
31.07.2012 23:19, OQ пишет:
On Tue, Jul 31, 2012 at 1:01 PM, Фосса fossa-artem@mail.ru wrote:
Hi, mr. All! foreach( array( 'TMPDIR', 'TMP', 'TEMP' ) as $var ) { $tmp = getenv( $var ); if( $tmp && file_exists( $tmp ) && is_dir( $tmp ) && is_writable( $tmp ) ) { return $tmp; } }
Did you try overriding these environment variables first?
MediaWiki-l mailing list MediaWiki-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
On 31/07/12 21:19, Фосса wrote:
Didn't, but i'm in the firm belief that it will not help, because hoster do not allow to change server-wide variables.
This should work when set in LocalSettings.php: putenv("TMPDIR=/home/u48601/whitefossaru/fwiki/temp"); (but safemode config could forbid you from doing so)
On 07/31/2012 02:01 PM, Фосса wrote:
Hi, mr. All!
When i installed MW-1.19.1 on my hosting i got error messages like
'rename() [function.rename SAFE MODE Restriction in effect. The script whose uid is 55398 is not allowed to access /var/tmp owned by uid 0 in *UploadStash.php* on line *173*'
when trying to upload any image.
Safe mode was turned OFF, but this error didn't disappear.
I think this is Bug 24985 which has been fixed by https://gerrit.wikimedia.org/r/#/c/8996/ to use $wgTmpDirectory when available. There was a lot of discussion on MW.o about this sort of problem (see http://www.mediawiki.org/wiki/Thread:Talk:MediaWiki_1.19/Thumbnails_didn%27t..., shortened: http://hexm.de/ks)
If the patch in Gerrit fixes your problem then, it will be fixed in 1.20, at the latest (due out later this year).
Mark.
mediawiki-l@lists.wikimedia.org