2009-08-11 2 views
0

Как установить параметры ini в PHP-скрипте?Как изменить настройки PHP ini из сценария оболочки?

php.ini не читается, и ini_set не работает.

Test File:

#!usr/local/bin/php -q 
<?php 

// display_errors is set to false in /etc/php.ini 

// This shouldn't display any errors 
$test = $foo; 

// We can also try 
ini_set('display_errors', false); 

// This definitely shouldn't display an error 
$test = $fum; 

?> 

Выход:

PHP Notice: Undefined variable: foo in /data/home/___/test.php on line 7 
PHP Notice: Undefined variable: fum in /data/home/___/test.php on line 13 

ответ

0

-c option позволяет указать файл php.ini, который следует использовать.

1

Попробуйте установить отчеты об ошибках с помощью error_reporing() функции

error_reporting(0); 
0

Не знаю, почему ini_set не работает, но расположение файл php.ini должен отображаться в phpinfo(); звоните - убедитесь, что вы используете правильный php.ini (а если нет - вы можете символически связать два вместе)

0

В дополнение к -c вариант, который позволяет указать, какой файл php.ini следует использовать (как Gumbo already stated - мой ответ просто следить, чтобы его один), есть также возможность использовать -d переключатель, который позволяет определить одну директиву конфигурации (без необходимости создания файла):

$ php --help 
    ... 
    -d foo[=bar]  Define INI entry foo with value 'bar' 
    ... 


например, учитывая, что вы есть сценарий, который содержит только это:

<?php 
var_dump(ini_get('memory_limit')); 
die; 

Вы можете назвать это так:

$ php ./temp.php 
string(4) "128M" 

А также таким образом, переопределение директивы одна конфигурация:

$ php -d memory_limit=27M ./temp.php 
string(3) "27M" 

Это очень полезно, когда вы хотите, чтобы переопределить параметр конфигурации просто один скрипт: вам не нужно создавать для него новый файл.

0

Как насчет (возражаете @ характер):

< PHP

...
// Это, безусловно, не должно отображаться сообщение об ошибке
@ $ тест = $ ФУМ;
...

? >

+0

Чистое зло! http://stackoverflow.com/questions/136899/suppress-error-with-operator-in-php/960288#960288 – Annan

+0

Согласен, но я думаю, что это менее зло, чем переопределение всего файла php.ini. – Adi

Смежные вопросы