SOLVED: Re: [OT] Cant write across filesystem mounts?

E.B. emailbuilder88 at yahoo.com
Mon Jun 1 19:26:00 UTC 2015


> 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?

The problem was the use of PrivateTmp in systemd for php-fpm.

Writes to /tmp (and apparently /var/tmp) go to nowhereland per
systemd (somewhere I don't know about???)

But if I create a directory writable by php-fpm with another name,
it works.

Thanks for the comments.



More information about the nginx mailing list