Nasıl bir kabuk içinde PHP ini ayarlarını değiştirebilirsiniz?

5 Cevap php

Nasıl bir PHP komut dosyası içinde ini ayarlarını yapabilirsiniz?

php.ini okunan değildir ve ini_set çalışmıyor.

Testi Dosya:

#!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;

?>

Çıktı:

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

5 Cevap

error_reporing() işlevini kullanarak hata bildirimini ayarlamayı deneyin

error_reporting(0);

Hiçbir fikrim neden) ini_set çalışmıyor, ancak php.ini dosyasının yeri (bir phpinfo gösterildiği gibi olmalıdır; çağrı - Sizin doğru php.ini kullanarak emin olun (- birlikte iki sembolik bir link isteyebilirsiniz ve değilse)

Php.ini dosyası kullanılması gerektiğini belirtmek için (as Gumbo already stated olanak -c seçeneği, ek olarak - benim cevap sadece) kendi birine takip {[(2) 'dir }] bir yapılandırma yönergesi tanımlamanızı sağlar anahtarı, (without having to create a file):

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


For instance, considering you have a script that only contains this :

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

Bu şekilde arayabilirsiniz:

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

Ve aynı zamanda bu şekilde, bir yapılandırma yönergesi yeniden tanımlıyor:

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

Eğer sadece tek bir komut dosyası için bir yapılandırma seçeneği yeniden tanımlamak istiyorsanız, bu gerçekten yararlı: Eğer sadece bunun için yeni bir dosya oluşturmak zorunda değilsiniz.

Nasıl (@ karakteri mind) hakkında:

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

>