Рассмотрим эту среду:
$ cat .htaccess
AddType application/x-httpd-php .php .html
SetEnv Foo Bar
$ cat test.php
<?php
echo "Hello: ";
echo $_SERVER['Foo'];
echo $_ENV['Foo'];
echo getenv('Foo');
?>
$ cat test.html
<?php
echo "Hello: ";
echo $_SERVER['Foo'];
echo $_ENV['Foo'];
echo getenv('Foo');
?>
Это результат test.php
:
Hello BarBarBar
Это результат test.html
:
Hello
Почему это могло быть? Как я могу это исправить?
Вот это phpinfo.php
: http://pastebin.com/rgq7up61
Вот это phpinfo.html
: http://pastebin.com/VUKFNZ36
Если кто-нибудь знает, где я могу разместить настоящую веб-страницу, а не только HTML-код, пожалуйста, дайте мне знать, и я перенесу туда содержимое. Спасибо.
разница видна в блоке:
Environment
там в html-версии все переменные выставлены в старой глобальной форме:
$HTTP_HOST, $HTTP_USER_AGENT, etc.
и в новой форме тоже:
$_SERVER["HTTP_HOST"], $_SERVER["HTTP_USER_AGENT"], ...
в версии php они задаются только в новой форме. похоже, что в html-версии используется другой php.ini.
также я вижу переменную
$_SERVER["ORIG_SCRIPT_FILENAME"] ="/var/www/cgi-bin/cgi_wrapper/cgi_wrapper"
возможно, html-файл анализируется с помощью
/etc/php5/cli/php.ini