Я запускаю virtualmin с apache2 на debian wheezy и стандартном PHP 5.3 и fastcgi
У меня есть веб-сайт, который вызывает символическую ссылку, указывающую на php файл в другом домашнем каталоге пользователя
so/home/user1/public_html/adserving/имеет символическую привязку к /home/user2/public_html/
Проблема в том, что если я напрямую прихожу к файлу php user2, он работает, но если я получаю доступ к нему через symlink, он просто выплевывает "No input file defined" (я думаю, fastcgi не находит путь к файлу?)
Это мой php5.fcgi для пользователя2:
#!/bin/bash
PHPRC=$PWD/../etc/php5
export PHPRC
umask 022
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=99999
export PHP_FCGI_MAX_REQUESTS
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /usr/bin/php5-cgi
Это мой apache conf для этого виртуального сервера: <
VirtualHost XXXXXXXXXXX:80>
SuexecUserGroup "#1012" "#1012"
ServerName adserve.com
ServerAlias www.adserve.com
ServerAlias webmail.adserve.com
ServerAlias admin.adserve.com
DocumentRoot /home/adserve/public_html
ErrorLog /var/log/virtualmin/adserve.com_error_log
CustomLog /var/log/virtualmin/adserve.com_access_log combined
ScriptAlias /cgi-bin/ /home/adserve/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/adserve/public_html>
Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/adserve/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/adserve/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/adserve/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.adserve.com
RewriteRule ^(.*) https://adserve.com:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.adserve.com
RewriteRule ^(.*) https://adserve.com:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
php_admin_value engine Off
IPCCommTimeout 31
FcgidMaxRequestLen 1073741824
</VirtualHost>
(домен adserve.com является просто заполнителем)
Любые советы о том, как решить проблему разрешения пути fcgi (если это действительно проблема)?
благодаря
Я, наконец, смог решить проблему, разрешив разрешения на весь путь обхода к файлу, к которому я пытался привязать symlink. Он должен полностью читать и выполнять доступ по всему пути для работы по назначению
Благодаря тому, что помогло
PHPRC=$PWD/../etc/php5
лиPHPRC=$PWD/../etc/php5
? Разве это не неправильно при доступе по символической ссылке? (Я не делаю php, так что я могу быть совершенно не уверен в этом.)