2012-06-25 32 views
5

私はini_set機能は、このようなメソッド内にあるときだと思うので、ini_set()関数を置くのに最適な場所です知りたい:クラス内でini_set()関数を呼び出す場所は?

private function archiveBackup() { 
    ini_set('memory_limit', '128M'); 
    ini_set('max_execution_time', 0); 
    ... 
} 

ini_set機能が動作しません!

私のスクリプトは次のように動作します:jQuery ajax query - > ajax.phpファイル(クラスのインスタンスを作成して何らかのメソッドを呼び出す) - >クラスのメソッドを呼び出します。

どこが最適ですか? ajax.phpファイルまたはクラスの開始時またはメソッド内で?

+0

これらのini値は、そのスクリプトの実行時に設定されることに注意してください。同じスクリプトの実行を元に戻すには、手動で実行する必要があります。 – Sammaye

答えて

5

一般に、ini_setコールを入力する最も良い場所は、スクリプトの開始時(またはその付近)です。そうすれば、最初はphp.iniファイルに定義されているのとほとんど同じです。

+0

はい、共有ホスティングがphp.iniファイルを受け入れない場合はどうなりますか? –

+0

これでも動作します。 AsitはPHPファイルで定義されています。 Kolinkはphp.iniでそれを定義するのと同じようにそれを実行します – Sammaye

+0

yuorの共有ホスティングでphp.iniのmodsを受け入れない場合は、ini_setを実行できることを確認してください。このコマンドを使用して、利用規約を破っている可能性があります。 – Sammaye

1

あなたの主な機能の開始時にini_setを配置している可能性が高いことに気付きました。

ので:

ini_set機能が動作しません!

共有ホスティングプロバイダが何らかの方法であなたをブロックしている可能性があります。

Kolink氏によれば、ホスティングプロバイダはdisable_functionsを使用している可能性があります。

0

私の個人的な好みとして考えるかもしれませんが、個人的に私のアプリケーション設定ファイルの外にPHP設定ディレクティブを使用することは避けてください。言い換えれば、特定のクラスのプロジェクトで特定のPHPランレベル設定が必要な場合は、そのクラス記述の要件に注意しますが、メインの設定ファイルには設定自体を適用します。

+3

私はあなたの好みに一般的に同意しますが、いくつかの設定(通常はメモリの制限)を上書きする場所(通常はcronスクリプト)がいくつかあります。 –

+0

私はそれのようにあなたの言葉を取らなければならないので、私はそれのような何かをする必要がありますクーロンと経験を持っていない:) – brezanac

関連する問題