|
Posted by Stefan Huber on 07/13/06 07:43
Hi
I've got a really strange problem, and can't find out why it's not
working as intended.
in order to use php4 and 5 together on a webserver and the requirement
for running as different users, I use suexec and a wrapper script for
php files. to make it a bit clearer, i'll post the different snippets:
httpd.conf:
ScriptAlias /php-wrapper /home/httpd/phpwrapper/
AddType application/x-httpd-php-5 php
Action application/x-httpd-php-5 /php-wrapper/php5
AddType application/x-httpd-php-4 php3 php4
Action application/x-httpd-php-4 /php-wrapper/php4
resulting in using either /home/httpd/phpwrapper/php4 or
/home/httpd/phpwrapper/php5 for php files
the script for the wrappers (the checks only make sure the php.ini file
can't be modified by our customers, it should be owned by root and not
be writable):
#!/bin/sh
INI="${DOCUMENT_ROOT}/../etc/php.ini"
if [[ -s "$INI" ]] && [[ ! -w "$INI" ]] && [[ ! -G "$INI" ]] && [[ ! -O
"$INI" ]]
then
exec /usr/lib/php5/bin/php-cgi -c $INI ${PATH_TRANSLATED}
else
echo "Content-Type: text/plain"
echo -e "\n\n"
echo "Execution not allowed"
fi
the other wrapper is exactly the same exept it's executing the php4-cgi
binary.
suexec is already patched so it doesn't interfere with those scripts
belowing to root. (I had make some exceptions, ie for the frontpage
extensions which are now working perfectly)
now the problem itself: under php5 all works perfectly. I have a default
ini file (very restrictive) and the ini of the user (opening some
directories with open_basedir). same under php4, only that it doesn't
read the ini file at all. it just uses the default file, all extensions
but not the file specified by -c
paths and all are correct, and to make it even better: on the command
line the same line works perfectly (as user and as root). I tried the
same with -i for phpinfo() output.
maybe its the heat, but I can't explain why that happens. especially the
fact its working on command line is strange. the shellscript doesn't do
anything else and yet it doesn't work.
if anyone ever had a similar problem or maybe a hint about what to do to
solve that problem, it would be highly appreciated.
thanks alot and a nice day
Stefan
[Back to original message]
|