Всем доброго дня. Или другово времени суток.
Помогите разобраться в следуущем вопросе: Я установил Apache2+PHP5+MySQL
в httpd.cfg и php.ini описал все как следует. И Apache зарапотал на локально машине.
Также заработал и PHP. Выполняются любые скрипты. Кроме функции phpinfo();
Даже работает phpinfo(1), phpinfo(2), phpinfo(4) и так далее до phpinfo(64);
Но когда просишь сделать <? phpinfo(-1) ?> простот белый экран. Выдается
пустая белая страница. Пока это не влияет на мою работу. Но все равно сильно
напрягает вроде phpinfo(); должа работаь при любом раскладе.
Ладно заранее всем спасибо за помощь.
С уважением Дмитирй.
Привет,>вроде phpinfo(); должа работаь при любом раскладе.
Поскмотрите список запрещенных функций в php.ini - у нас, например, phpinfo() запрещена на всех shared hosting машинах.
А когда белый экран - возможно получилась ошибка, но диагностика ошибок может быть выключена - опять смотрим php.ini.
WWell,
Парадокс в том что функция phpinfo() работает при аргументах 1-64, а при
аргумента -1 не работает. Это уже говорит о том что она не запрешеща. Дело в чем то другом.
>Парадокс в том что функция phpinfo() работает при аргументах 1-64, а при
>
>аргумента -1 не работает. Это уже говорит о том что она не
>запрешеща. Дело в чем то другом.
Как насчет
1. phpinfo();
2. phpinfo(127);
?
>Как насчет
>1. phpinfo();
>2. phpinfo(127);
>?
А дело в том что в документации такие параметры функции, или вернее сказать аргументы не оговорены.
Отрывок из документации на php5:
Таблица 1. phpinfo() optionsName (constant) Value Description
INFO_GENERAL 1 The configuration line, php.ini location, build date, Web Server, System and more.
INFO_CREDITS 2 PHP Credits. See also phpcredits().
INFO_CONFIGURATION 4 Current Local and Master values for PHP directives. See also ini_get().
INFO_MODULES 8 Loaded modules and their respective settings. See also get_loaded_extensions().
INFO_ENVIRONMENT 16 Environment Variable information that's also available in $_ENV.
INFO_VARIABLES 32 Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE 64 PHP License information. See also the license FAQ.
INFO_ALL -1 Shows all of the above. This is the default value.
>
>>Как насчет
>>1. phpinfo();
>>2. phpinfo(127);
>>?
>А дело в том что в документации такие параметры функции, или вернее
>сказать аргументы не оговорены.
>Отрывок из документации на php5:
>Таблица 1. phpinfo() options
>
>Name (constant) Value Description
>INFO_GENERAL 1 The configuration line, php.ini location, build date, Web Server, System
>and more.
>INFO_CREDITS 2 PHP Credits. See also phpcredits().
>INFO_CONFIGURATION 4 Current Local and Master values for PHP directives. See also
>ini_get().
>INFO_MODULES 8 Loaded modules and their respective settings. See also get_loaded_extensions().
>INFO_ENVIRONMENT 16 Environment Variable information that's also available in $_ENV.
>INFO_VARIABLES 32 Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie,
>Server).
>INFO_LICENSE 64 PHP License information. See also the license FAQ.
>INFO_ALL -1 Shows all of the above. This is the default value.
>
Как это не оговорены?
Первое phpinfo() - Вы сами процитировали - INFO_ALL -1 ... This is the default value.
Второе phpinfo(127) - это сумма битов вышеперечисленных опций. Вполне оговоренная штука, которую Вы не процитировали:
> The output may be customized by passing one or more of the following constants bitwise values summed together in the optional what parameter. One can also combine the respective constants or bitwise values together with the or operator.Всё-таки что дают эти два вызова?
Прошу прощения за не внемниматльеность. Но, что касается вызова phpinfo() без аргументов, то не вызывается ни чего, точно также как и при аргументе -1. А вот про вызов с 127 я еще не смотрел. Но как я говорил в самом первом сообщении при использовании 1-64, по очереди все работает.
>Прошу прощения за не внемниматльеность. Но, что касается вызова phpinfo() без аргументов,
>то не вызывается ни чего, точно также как и при аргументе
>-1. А вот про вызов с 127 я еще не смотрел.
>Но как я говорил в самом первом сообщении при использовании 1-64,
>по очереди все работает.
используй так
<?php
echo phpinfo();
?>
возможно на сервере стоит использование полного формата вместо <? .... ?>
Не нашел быстро ответа, разобрался сам. Тема с бородою и в ответе автор не нуждается наверно давно. Но может кто-то найдет пост и ему пригодится.index.php -
?php
echo phpinfo();
?>
В логах ошибок -
[Wed Jan 6 13:15:37 2010] [error] ALERT - function within blacklist called: php
info() (attacker '192.168.175.228', file '/var/www/xxx.ru/index.php', line 3)
[Wed Jan 6 13:15:37 2010] [error] PHP Warning: phpinfo() has been disabled for
security reasons in /var/www/xx.ru/index.php on line 3Удалил в php.ini в трех строках blacklist-ов упоминания о phpinfo и все начало отображаться.
Дмитрий, а вы могли бы подсказать как вообще эту функцию phpinfo ()выполнить и где найти файл конфигурации httpd.cfg . Очень буду признателен
>Дмитрий, а вы могли бы подсказать как вообще эту функцию phpinfo ()выполнить
>и где найти файл конфигурации httpd.cfg . Очень буду признателенБрысь в школу.
>
> Брысь в школу.C функцией я сам разобрался. Где блин этот файл конфигурации найти, подскажите:)