Я тестирую, бегу ли я PHP
или suPHP
. когда я выдаю phpinfo()
Я получаю более 600 строк данных. Единственное упоминание о suPHP
происходит здесь
<tr><td class="e">Loaded Modules </td><td class="v">core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_setenvif mod_status mod_suphp </td></tr>
Я читаю другой сайт этот серверный API должен быть CGI
не Apache
для того, чтобы работать suPHP
Я попытался опубликовать полную версию, но она превышает 30 000 символов. Если вы считаете это важным, я могу попробовать выложить половину.
РЕДАКТИРОВАТЬ Вроде у меня suPHP частично работает. Если я загружу сценарий и выдаю getuserid()
или get_current_user()
он возвращает мою информацию о пользователе, а не www-data
. Однако, если я пытаюсь читать / писать в файл, у которого нет разрешения для всех на чтение / запись, он говорит failed to open stream: Permission denied
. Есть идеи, что может быть причиной этого?
Эти выходные данные показывают, что у вас включен как модуль DSO PHP, так и модуль SuPHP, поэтому анализатор, запускающий ваши сценарии, зависит от вашей конфигурации Apache. В частности, это определяется AddHandler
директива. Вы можете проверить свой phpinfo () на наличие определенного Server API
и если он говорит CGI
затем, исходя из предоставленной вами информации, вы по умолчанию используете SuPHP.
Я наконец понял, в чем проблема. Мне не удалось отключить нормальный модуль php5, как описано Вот. Все, что мне нужно было сделать, это дать команды
a2dismod php5
/etc/init.d/apache2 restart
Если у кого-то еще возникают подобные проблемы, вот еще несколько сайтов, помимо официальная страница (что совершенно бесполезно)
Инструкция по установке для новичков
Раздел справки по установке в списке рассылки
Наконец, вот файлы, которые вам нужно изменить, и какие изменения следует применить.
Добавьте ниже в свой /etc/suphp/suphp.conf
файл. Обратите внимание, что ваш может храниться в другом месте, другие сайты предлагают поискать в /etc/suphp.conf
(обратите внимание, что в конце может быть некоторая избыточность, у меня еще не было времени исправить это).
[handlers]
;Handler for php-scripts
application/x-httpd-suphp="php:/usr/bin/php-cgi"
application/x-httpd-php="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"
x-httpd-suphp="php:/usr/bin/php-cgi"
Наконец, добавьте следующее в конец вашего /etc/apache2/apache2.conf
файл
suPHP_Engine on
suPHP_AddHandler application/x-httpd-php .php
suPHP_ConfigPath /etc/php5/cgi/