web-dev-qa-db-ja.com

APCを有効にすると、内部サーバーエラーが発生します

APC 3.1.9(Alternate PHP Cache)をインストールして有効にした後、peclを使用して、内部サーバーエラーが発生しました。エラーログを確認しました。これが表示されます。アップ。

エラーログ:

PHP Fatal error:  PHP Startup: apc_mmap: mkstemp on /tmp/apc.efdb4d failed: in Unknown on line 0
[Wed Jul 06 23:47:41 2011] [error] mod_fcgid: process /var/www/cgi-bin/cgi_wrapper/cgi_wrapper(22397) exit(communication error), get unexpected signal 11

php.iniファイルにAPC拡張子を追加する代わりに、apc.ini/etc/php.d/ファイルを作成しました。これが現在のAPC構成です。

apc.ini構成:

; /etc/php.d/apc.ini

extension = apc.so

apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 128M
apc.optimization = 0
apc.num_files_hint = 4096
apc.ttl = 7200
apc.user_ttl = 7200
apc.gc_ttl = 0
apc.cache_by_default = 1
apc.filters = ""
apc.mmap_file_mask = "/tmp/apc.XXXXXX"
apc.slam_defense = 0
apc.file_update_protection = 2
apc.enable_cli = 0
apc.max_file_size = 10M
apc.stat = 1
apc.write_lock = 1
apc.report_autofilter = 0
apc.include_once_override = 0
;apc.rfc1867 = 0
;apc.rfc1867_prefix = "upload_"
;apc.rfc1867_name = "APC_UPLOAD_PROGRESS"
;apc.rfc1867_freq = 0
apc.localcache = 0
apc.localcache.size = 512
apc.coredump_unmap = 0
apc.stat_ctime = 0

APCを無効にした後でも、PleskCPにログインしようとしたときに別のエラーが発生しました。

ERROR: Zend_Db_Statement_Exception
SQLSTATE[HY000]: General error: 1 Can't create/write to file '/tmp/#sql_6d7_0.MYI' (Errcode: 13)

Pleskのパワーパネルからコンテナを再起動することで、上記の問題を修正しました。 /tmpを使用してmount -o remount,exec /tmpexecに変更し、peclを介したAPCインストール中の権限エラーを解決する必要があったと思います。インストールが完了したら、/tmpnoexecに戻しました。これらの手順の要点は ここ にあります。

最初のエラーはまだ解決されていません。

私は現在実行しています:

  • CentOS 5.6
  • PHP 5.3.5
  • FastCGI
  • インストールされたAPC3.1.9

この問題を解決する方法がわかりません。最新バージョンのAPCを使用しているからですか?またはapc.ini config? apc拡張機能をどこで有効にしたかは重要ですか?つまり、/etc/php.ini/etc/php.d/apc.iniの違いです。

FastCGIとAPCの互換性の問題はどうですか?

どんな助けやアドバイスも大歓迎です。

5
VicePrez

Open_dirの制限は有効ですか?これがユーザーアカウントにある場合は、適切な権限を持つユーザーのホームディレクトリを基準にしてAPCのtmpディレクトリを設定します。

2
Aleksey Korzun