私は次のようなかなり「型破りな」設定をしています。
ネットワークがブリッジに設定されたUbuntuDesktop12.10を実行しているVMware仮想マシンがあります。VM内にインストールされているのは、nginx、php-fpm、php-cli、およびMySQLです。PHPは5.4.10です。
ホスト(Windows 7)で作業しているアプリケーションのすべてのファイルを含むフォルダーがあります。このフォルダは、ネットワーク共有として利用できるようになります。
次に、仮想マシンは、sambaを介してWindows共有をディレクトリにマウントします。このディレクトリは、nginxとphp-fpmによって提供されます。これまでのところ、すべてが正常に機能しています。
いくつかのファイルをビルドして処理するのに役立つ、phpCLIを介して実行するスクリプトがあります。以前は、このスクリプトは私のWindowsホストで正常に機能していました。ただし、cannot allocate memory
UbuntuVMで実行するとエラーが発生するようです。奇妙なことに、それは散発的であり、常に発生するわけではありません。
user@ubuntu:~$ sudo /usr/local/php/bin/php -f /www/app/process.php
Warning: require_once(/www/app/somecomponent.php): failed to open stream: Cannot allocate memory in /www/app/loader.php on line 130
Fatal error: require_once(): Failed opening required '/www/app/somecomponent.php' (include_path='.:/usr/local/php/lib/php') in /www/app/loader.php on line 130
私は以下をチェックして確認しました:
/www/app/somecomponent.php
確かに存在します。/www
内部のすべてのファイルとサブディレクトリのアクセス許可は、所有者、グループなどに対して実行および読み取り+書き込みを行うように設定されています。この質問を読んでAPCが原因であるかどうかを確認した後、APCをオフにしましたが、それでも問題は解決しません。
php-cli
にあると同じを使用してphp.ini
います。php-fpm
/etc/php/php.ini
memory_limit
inphp.ini
は128M
(デフォルト)に設定されています。これはアプリにとって十分と思われます。メモリ制限をに増やした後でも
256M
、エラーは発生します。VMには2GBのメモリがあります。
cannot allocate memory
エラーの原因を調べるためにグーグルで調べてきましたが、何も役に立ちませんでした。この問題の原因は何ですか?