[OT] Cant write across filesystem mounts?

Maxim Dounin mdounin at mdounin.ru
Mon Jun 1 15:30:56 UTC 2015


Hello!

On Sat, May 30, 2015 at 02:20:05PM -0700, E.B. wrote:

> Hi I dont think this is specific to nginx but I hope its a good
> place to ask!
> 
> When running PHP script through Nginx it writes OK to files
> on the same disk mount where the PHP file is located but
> not to the other parts of the system that are on another mount.
> (well i dont know if its a matter of "same mount" or not, but
> that is how it is behaving)
> 
> Example, /tmp is on another mount than the web root.
> 
> <?php
> ini_set('display_errors', 'On');
> file_put_contents('/tmp/test', 'hello world');
> system('touch /tmp/test-touch');
> file_put_contents('/webroot/tmp/test', 'hello world');
> system('touch /webroot/tmp/test-touch');
> ?><html><body>hello world</body></html>
> 
> I run this script from CLI (sudo as ANY user including the php
> user) and it always works fine (writes files in both places). If I
> access it from a browser the write/touch commands to /tmp
> fail silently. 
> 
> No AVC from selinux, no PHP or Nginx errors or warnings.
> /tmp permissions are usual 777. Can someone help me in
> right direction?

In this particular case I would recommend to look into PHP 
configuration, open_basedir directive in particular:

http://php.net/manual/en/ini.core.php#ini.open-basedir

Either way this doesn't looks like an nginx-related problem, you 
may have better luck asking in more relevant lists.

-- 
Maxim Dounin
http://nginx.org/



More information about the nginx mailing list