Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #6144

Re: is_dir true from cli, false from Apache

From Jerry Stuckle <jstucklex@attglobal.net>
Newsgroups comp.lang.php
Subject Re: is_dir true from cli, false from Apache
Date 2012-05-23 16:13 -0400
Organization A noiseless patient Spider
Message-ID <jpjgdu$b97$1@dont-email.me> (permalink)
References <4fbd1439$0$6967$c3e8da3$9b4ff22a@news.astraweb.com> <jpj5mc$33d$1@dont-email.me> <4fbd1d46$0$10768$c3e8da3$dbd57e7@news.astraweb.com> <jpj8rs$ovn$1@dont-email.me> <pMidnT1HJLR7qiDSnZ2dnUVZ_oOdnZ2d@posted.localnet>

Show all headers | View raw


On 5/23/2012 3:17 PM, Robert Heller wrote:
> At Wed, 23 May 2012 14:04:37 -0400 Jerry Stuckle<jstucklex@attglobal.net>  wrote:
>
>>
>> On 5/23/2012 1:24 PM, Robert Grimm wrote:
>>> On 2012-05-23 17:10:31 +0000, Jerry Stuckle said:
>>>
>>>> On 5/23/2012 12:45 PM, Robert Grimm wrote:
>>>>> I'm having trouble on CentOS 6 with PHP5. This is my test code:
>>>>>
>>>>> $dir = is_dir("/var/www/document_repository");
>>>>>
>>>>> Ultimately, I'm trying to get OpenDocMan working. That this test code
>>>>> fails shows why I can't get OpenDocMan working. I've tried everything I
>>>>> can think of. I've added a trailing /. I've put the directory in and out
>>>>> of the OpenDocMan directory, which has a directory definition in the
>>>>> Apache config. The user apache owns and has full access to the
>>>>> directory. I tested to make sure PHP was being run by apache with
>>>>> passthru("whoami");
>>>>>
>>>>> I posted my site configuration and phpinfo() output at
>>>>> http://opendocman.com/forum/viewtopic.php?f=4&t=667 in the last post on
>>>>> the page as of right now.
>>>>>
>>>>> What is really strange is that my test code works when I run it from the
>>>>> command line.
>>>>>
>>>>> This is a recent, clean install of CentOS. I have done no customization
>>>>> of the configuration files beyond defining the site in Apache. The site
>>>>> configuration has no PHP directives, as can be seen in the forum post
>>>>> linked above. What is going on? What do I have to do to get this
>>>>> working?
>>>>>
>>>>
>>>> Does the web server's user have access to the directory?
>>>
>>> The web server's user has ownership and read, write, and execute
>>> permissions on that directory.
>>
>> OK, but IIRC, CentOS uses SELinux security contexts.  Is that set up to
>> allow access to the directory (warning - I know very little about how
>> SELinux security works - just that it causes hassles like this).
>
> There is also the possiblity that the apache (most likely) and/or php
> configuration might prevent a php web application from accessing disk
> space outside of under DOCUMENT_ROOT.  The base default DocumentRoot
> for a CentOS install of apache (httpd rpm) is /var/www/html and
> /var/www/document_repository is outside of that directory...  I am not
> sure if this is an apache or php configuration.  I *suspect* that the
> default is to disallow a php program running under apache's PHP_MOD
> from accessing files, unless apache is allowing it. By default apache
> disallows access to the root file system (from httpd.conf):
>

When accessing the file system from PHP, Apache is not involved at all, 
and its configuration is immaterial.

> #
> # Each directory to which Apache has access can be configured with respect
> # to which services and features are allowed and/or disabled in that
> # directory (and its subdirectories).
> #
> # First, we configure the "default" to be a very restrictive set of
> # features.
> #
> <Directory />
>      Options FollowSymLinks
>      AllowOverride None
> </Directory>
>
> (This directive is followed by others granting various sorts of access
> to selected directories.)
>
> This is a sensible securirty setting. You might have to add the
> necessary 'magic' to httpd.conf or add a config file to
> /etc/httpd/conf.d to allow access to /var/www/document_repository, with
> a suitable<Directory /var/www/document_repository>...</Directory>
> container.
>
>>
>

And unrelated to this problem.  Actually, since the directory is outside 
of the DOCUMENT_ROOT, this isn't even necessary (and has no effect).


-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 12:45 -0400
  Re: is_dir true from cli, false from Apache Jerry Stuckle <jstucklex@attglobal.net> - 2012-05-23 13:10 -0400
    Re: is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 13:24 -0400
      Re: is_dir true from cli, false from Apache Jerry Stuckle <jstucklex@attglobal.net> - 2012-05-23 14:04 -0400
        Re: is_dir true from cli, false from Apache Robert Heller <heller@deepsoft.com> - 2012-05-23 14:17 -0500
          Re: is_dir true from cli, false from Apache Jerry Stuckle <jstucklex@attglobal.net> - 2012-05-23 16:13 -0400
          Re: is_dir true from cli, false from Apache Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-05-23 22:39 +0200
          Re: is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 16:44 -0400
            Re: is_dir true from cli, false from Apache Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-05-24 00:25 +0200
              Re: is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 20:03 -0400
        Re: is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 16:48 -0400
          Re: is_dir true from cli, false from Apache Robert Grimm <robertgrimm@gmail.com> - 2012-05-23 21:15 -0400
  Re: is_dir true from cli, false from Apache The Natural Philosopher <tnp@invalid.invalid> - 2012-05-23 19:55 +0100
    Re: is_dir true from cli, false from Apache Michael Fesser <netizen@gmx.de> - 2012-05-23 22:35 +0200

csiph-web