2013-04-06 6 views
10

CentOSを実行しているホスト仮想サーバーでSymPony2.1をcPanelで実行しています。 symphony CLIコマンドを使用できなくなった以外はすべて正常に動作します。 (例えば、私はphp app/console cache:clear --env=prodまたは他の有用なsymfonyのコマンドを実行しようとすると)PHP CLIENTでcPanelを実行しているVPSサーバーのPHPメモリ "Out of memory"エラー

Fatal error: Out of memory (allocated 20185088) (tried to allocate 71 bytes) 

エラー:私はこれを取得しています。

このエラーが発生した数日前までは、何ヶ月もCLIを使用して同じコマンドを問題なく使用しました。それ以来私はこのエラーを克服することができませんでした。

私は、これはPHPのmemory_limit関連のエラー(下記参照)ではなく、 "メモリ不足"エラーであり、 "割り当てられたメモリサイズ"エラーではないことを指摘したいと思います。

cronジョブに追加したときとまったく同じコマンドが実行されます(これは私が今使用している一時的な回避策です)。つまり、スクリプトそのものが非難されることはありません。

  • 増やしphp.iniの内のmemory_limit(または直接コマンドライン上で):私は私がいるエラーの種類から疑われるとして、私はこれまでやってみたことは何

    何もありませんでした

  • :これは、CLIのために、この設定を上書きする可能性があり、他のphp.iniファイルには効果

  • 検索がありませんでした無料-mと監視メモリ使用量:(symfonyのコマンドはcronジョブによって完全に実行すると予想されていた、)使用可能なメモリの多くは、WHM/cPanelのはを持っている可能性がある場合

  • はを通じて、を見つけようとしていました例えば、は、ユーザーアカウントのメモリ制限をに設定しました。これは、拘留されているSSHシェルを使用している場合があります(ただし、SSHシェルを使用しています。シェルフォーク爆弾保護を有効にしている場合(ただし、サーバー上で無効になっています)

  • ulimit設定を確認する ulimit -aとの私のサーバ/アカウント:制限がありますが、256Mになりますが、「メモリ不足」というエラーは、PHP CLIには20M以下が許可されているようです。

  • 特に /etc/security/limits.confを中にどこかの.confファイル内の任意のメモリ制限は、:何もありませんでしたメモリの制限のようなものを設定することができ、他のファイルのチェック

  • :確かに今回私が/ usr/local/cpanel/etc/login_profile/limitsというファイルが見つかりました。shこの制限を設定しているようです(ulimit -n 100 -u 35 -m 20000 -d 20000 -s 8192 -c 20000 -v無制限2>/dev/null)=>私は結局、番号(20000)が対応し、が、ルートとしてこのファイルを編集し、SSH経由で自分のアカウントに再びログインしているように見えるとして、再び、全く効果

  • がありませんでした

私の質問:

私は今ましたオプションが不足しています。私は私のホストに連絡を取りましたが、私のように彼らは無知です(本当に、彼らはSymfonyについても知らない)。同じ問題を経験した人はいますか?

場合によっては、/usr/local/cpanel/etc/login_profile/limits.shが私を答えに近づけてしまった場合、私は何が欠けていますか?アカウントに再ログオンするのではなく、サーバを再起動するかcPanelを再起動する必要がありますか?

これは、WHM/cPanelのアップデートに関連するかもしれないものです(前述したように、数日前まではすべてが完全にコマンドライン上で動作していました)。

何か助けていただきありがとうございます。長い質問をおかけして申し訳ありません。

PS:Stack Overflowに関する他の同様の質問がありましたが、それぞれはすでに試したことの1つを使用して解決されました。だから私は別の問題を経験していると思います。

+0

スクリプトがPHPの 'memory_limit'以上のものを使用しているような気がします。 'php -ini'を実行して、php.iniファイルの場所を取得しようとしましたが、' memory_limit = 512M'(または他の大きな番号)を設定してからapacheを再起動しましたか? –

+1

+1よく質問された質問 – m4t1t0

+0

@ChrisMcKinnelあなたの答えをありがとう。はい、私は行いました(私が編集していたCLI php.iniであることを確認しています)が、何も変更されませんでした。それが私がPHPのmemory_limitの問題だと真剣に疑う理由です。 –

答えて

1

不要なcPanelアップデートに続いて、SSHポートがデフォルト値から変更され、ログインできなかったことが判明しました。ログインするためにセーフモードでSSHを再起動しました。

今日、私はちょっと慌てて、/etc/ssh/sshd-configのSSHポートを見て、「通常」モードでSSHを再起動し、正しいポートでログインしました。スクリプトは完全に実行されます。

だから、その原因はセーフモードでSSHを使用していたためです。うまくいけば、この非常に具体的な問題は誰かにとって役に立ちます:あなたが絶対に必要としない限り、毎日の使用のためにSSHセーフモードを使用しないでください。

関連する問題