問題タブ [mod-php]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP は 300MB の RAM を使用できません
特定の PHP スクリプトの許容メモリを増やそうとしています。私が何をしても、例えばこれ:
...スクリプトは常に約 300MB でメモリ不足になります。
memory_limit
実際に変更されていることをいくつかの手段で確認しました。問題は、PHP が合計 300 MB のメモリ (25165824 バイト + 343810589 バイト = 352 MB) を物理的に割り当てることができないことです。
次の仕様の 2 つの異なる Windows ベースのコンピューターで、PHP/5.3.0 と PHP/5.3.9 の両方を試しました。
- Windows XP / Windows Server 2003 (どちらのコンピューターも 1GB または RAM を搭載した 32 ビット ボックスです)
- 公式の PHP 32 ビット VC9 バイナリ
- Apache 2.2 モジュールとして実行 (サードパーティの 32 ビット VC9 バイナリ)
物理 RAM の半分を使用するとスワッピングが強制され、動作が非常に遅くなることは理解していますが、ライブ サーバーにデプロイできるようにスクリプトが実際に機能することを確認する必要があります。大きな値 (同じエラーが発生した) と小さな値 (スクリプトが制限に達したか、Apache がクラッシュした) も試しました。
この明らかにハードコーディングされたメモリ制限の原因は何ですか?
更新 #1: Windows Server 2003 ボックス (実際には VMWare 仮想マシン) でさらにテストを行いました。「物理」RAM を 2 GB に増やし、ページング ファイルが 1152 MB まで拡張できることを確認しました。タスク マネージャーは、現在のトランザクションの負荷が 886 MB で、1.5 GB の空き物理メモリがあることを示しています。ただし、まったく同じ数値で同じエラーが発生します。
更新 #2:私が言ったように、memory_limit
ディレクティブは問題ありません。と の両方に表示されini_get()
ますphpinfo()
。表示されるエラー メッセージは、私のものとは少し異なります。mine は PHPクラッシュを示します。比較してください:
問題を再現して報告するためのスクリプトを作成しようと思います。
php - dso(mod_php)およびFTP/ファイルのアクセス許可
私はここで少し困惑しています。しかし、それは私の経験不足かもしれません。
PHP DSO(mod_php)をセットアップしましたが、サーバーはスムーズかつ安定して動作します。ただし、問題は、インクルードとすべてを使用してphpを実行するには、すべてのユーザーアカウントファイル(/ home / * / public_html / *)の所有者をnobody:nobodyに設定する必要があることです。
これは私に2つの質問をもたらします:-これは本当に必要ですか?私はむしろそれらをuser:userにしたい-FTPはどうですか?FTPを使用してファイルをアップロードする場合、それらはuser:userによって所有されているため、別のphpファイルに含めることはできません(エラーが発生します)。nobody:nobodyが所有するファイルは、ftpで変更することはできません。
参考:SuEXECも有効にしています。これを無効にする必要がありますか?
参考までに:すべての権限を777に設定できることはわかっていますが、それは間違いです。
どうもありがとう!
php - Apache PHP ライブラリのキャッシュ
PHPファイルを「必要とする」PHPスクリプトをApacheで実行している場合、毎回ディスクから取得する必要がないように、それをメモリに保持する方法はありますか?
php - mod_php と fastcgi を並べて実行するには?
mod_php
Apache サーバーが FastCGI として実行するように構成されている場合、特定の PHP スクリプトを実行することはできますか? (FPM/FastCGI)。これはディレクトリ レベルで構成できますが、Apache 構成で使用する構文がわかりません。
サーバー OS: Ubuntu サーバー 11.04
security - mod_phpおよびVPS上の誰でも書き込み可能なファイル
私は共有ホスティングで慣れているfastcgiではなくmod_phpを実行しているcentos5.8VPSを持っていますが、ファイルに書き込むことを目的としたphpのさまざまなビットがそれらのファイルを誰でも書き込み可能にする必要があるという問題に遭遇しました。書き込まれるファイルは、Webサイトのデータベースやrssxmlのようなものです。これは安全ではありませんね。安全にするにはどうすればよいですか?
php - FastCGI で PHP からバックグラウンド プロセスを実行する
別の PHP ファイルからオンデマンドで開始できるバックグラウンド PHP プロセスを作成できることはわかっています。
ただし、このソリューションは、PHP がmod_phpとして実行されている場合にのみ機能します。
FastCGIで同じことを行う方法はありますか?
FastCGI では、FastCGI によってプロセスが何度も開始および終了されるようですが、修正した経験のある人はいますか?
php - 空のphpファイルの最初のバイト値までの長い時間
私は数ヶ月前にそのような質問をしました。問題を特定するために、新しいアプローチを試みました。空のファイルをサーバーに置きました。
ファイル名は「foobar.php」です。その内容は次のとおりです。
しかし、 example.com/foobar.phpに入ろうとすると、
DNS 203ミリ
秒 接続 3.33 秒
送信 0 ミリ秒
最初のバイトまでの時間 17.35 秒
受信 1 ミリ秒 総ロード時間 20.88 秒
次に、「foobar.txt」という別のファイルを置きます。その内容は次のとおりです。
foobar.txtの読み込み時間は約 0.2 秒です。
この Web サイトは共有ホスティング内にあるため、ルート Linux アクセスを取得できません。サイトが遅くなる原因を突き止めようとしています。
- これらの結果が得られると、私のサイトには 60 人の訪問者がいます。また、アクティブなときに AJAX リクエストを送信します。それらがアクティブな場合、ほぼ 3 秒ごとに AJAX 要求を送信します。
- 通常、私の Web サイトには 1 秒あたり 5 ~ 20 のリクエストがあります。
- 私のホスティング プロバイダーによると、CPU の過負荷は発生せず、一般的には非常に低いとのことです。
- ホスティング会社にApacheの制限を尋ねました。共有サーバー全体で次の値を取得します。
MaxClients 300
MaxRequestsPerChild 4000
ThreadsPerChild 25
- example.com/mybigpage.phpとexample.com/foobar.phpのページがほぼ同時に開かれます。
- ページに txt、jpeg、またはその他の拡張子が含まれている場合、それらはすぐに開きます。拡張子が php の場合、開くのが非常に遅くなります。
- CakePHP はセッションファイルを「/httpdocs/app/tmp/sessions」フォルダに保存します。セッション ファイルは、作成から 2 時間後に削除されます。現在、そのフォルダー内には 3653 個のファイルがあります。最も古いファイルは 2.5 時間前に作成されます。
- 私の構成では、PHP ハンドラーは Apache モジュール mod_php です。
新しい編集: ホスティング会社と話しました。そして、「foobar.php」が 20 秒近くで開かれることを伝えました。そのファイルにはコードがまったくありませんが。彼らは、同じサーバーを使用している他のウェブサイトに「foobar.php」を配置したと私に言いました。「othersite.com/foobar.php」も試してみました。すぐに開きました。しかし、「mysite.com/foobar.php」は 15 秒近くで開きました。何がこの振る舞いをするでしょうか?他のサイトと同じ PHP 構成を使用していますが、それらはすぐに開きます。.htaccess ルールが原因でしょうか? それとも他のもの?
新しい Edit2: 私のプロバイダーは、サーバー内に「apd.so」ファイルが存在しないと私に言いました。APDが使えないようです。
ボトルネックを見つけるには何を探す必要がありますか?
私のサイトを制限するものは何ですか?
追加データ: phpinfo から、次の情報を取得します。
'./configure' '--prefix=/usr/local/lsws/lsphp5' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target= x86_64-redhat-linux-gnu' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir =/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '- -cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc /php.dd' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '-- with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv ' '--with-jpeg-dir=/usr' '--with-openssl' '--with-libexpat-dir=/usr/lib64' '--with-pcre-regex=/usr' '--with -zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' ' --enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-shmop' '--enable-calendar' '--with-libxml-dir=/usr' '--with-mysql' '--with-mysqli' '--with-gd' '--イネーブルドム' '--disable-dba' '--without-unixODBC' '--enable-xmlreader' '--enable-xmlwriter' '--with-mcrypt' '--enable-mbstring' '--with-litespeed' '- -enable-soap' '--with-xsl' '--with-pdo-mysql' '--with-pdo-sqlite' '--enable-sqlite-utf8' '--with-pspell' '--with -sqlite=shared' '--with-xmlrpc' '--with-mhash' '--enable-pdo' '--with-imap' '--with-imap-ssl' '--without-suhosin' ' --with-tidy''--enable-zip''--enable-inline-optimization''--enable-gd-native-ttf''--enable-bcmath'--enable-soap' '--with-xsl' '--with-pdo-mysql' '--with-pdo-sqlite' '--enable-sqlite-utf8' '--with-pspell' '-- with-sqlite=shared' '--with-xmlrpc' '--with-mhash' '--enable-pdo' '--with-imap' '--with-imap-ssl' '--without-suhosin' '--with-tidy' '--enable-zip' '--enable-inline-optimization' '--enable-gd-native-ttf' '--enable-bcmath'--enable-soap' '--with-xsl' '--with-pdo-mysql' '--with-pdo-sqlite' '--enable-sqlite-utf8' '--with-pspell' '-- with-sqlite=shared' '--with-xmlrpc' '--with-mhash' '--enable-pdo' '--with-imap' '--with-imap-ssl' '--without-suhosin' '--with-tidy' '--enable-zip' '--enable-inline-optimization' '--enable-gd-native-ttf' '--enable-bcmath'--enable-inline-optimization'' --enable-gd-native-ttf''--enable-bcmath'--enable-inline-optimization'' --enable-gd-native-ttf''--enable-bcmath'
performance - PHPの処理速度apache2.4mpm-prefork mod_php 5.4 vs nginx 1.2.x PHP-FPM 5.4
私は、誰かが文書化されたPHP処理速度の比較を行ったかどうかを確認するために、何日も探していました。
- apache-mpm-prefork2.4とmod_php5.4
と
- nginx 1.2.x + PHP-FPM 5.4
私が探している理由:私が見た唯一のテストは、正確にテストされたものに関する適切なドキュメントがない、フルページまたはHello、Worldのようなテストを提供する豊富なベンチマークです。リクエスト/秒、ハードウェアは気にしませんが、テストされたPHPスクリプトと正確な構成を確認する必要があります。
なぜこれら2つ: mod_phpはPHPの処理で最速であることが知られていました(静的ファイルなし、要求/応答測定なし、PHP自体の処理のみ)が、それ以来、apacheバージョンを含む多くの変更がありました。NginxとPHP-FPMはメモリの消費量がはるかに少ないため、アーキテクチャを変更するのは妥当な理由ですが、この場合に十分な速度がなければ、変更は関係ありません。
自分でやらなければならないものが見つからない場合は知っていますが、これまでにこのようなテストを行った人は誰もいないとは信じられません:)
macos - mod_wsgi(reviewboard) と mod_php(wordpress) を同じサーバー名で別のパスで動作させる
wordpress サイトとレビューボード サイトを同じドメイン名で動作させようとしています。
元:
httpd-vhosts.conf ファイルに応じて、どちらか一方を動作させることができます。ただし、両方を機能させることはできません (ここであなたの助けが必要です!)。
これは、WordPress サイトをホストする方法です。
これは、レビューボード サイトをホストする方法です (これにより、WordPress サイトが壊れます)。
だから今、私はこれらをどうにかして組み合わせる方法を見つけたいと思っているので、私のワードプレスサイトを壊すことなく、上記のパスでレビューボードをホストすることができます. ここに記載されているように Alias コマンドを使用してみました: http://stackoverflow.com/questions/1553165/multiple-django-sites-with-apache-mod-wsgi とここ https://code.google.com/p/modwsgi /wiki/構成ガイドライン
しかし、私はそれを機能させることができません。これが私のWIPです。これを変更するために何をする必要があるかを非常に具体的に説明できれば、私はこの種のものに慣れていないので、それが機能するのは素晴らしいことです. ありがとう!
php - モジュールと CGI のインストールに同じ PHP コードを使用できますか?
単純な、おそらくばかげた質問:
PHP がモジュールとしてインストールされているか、CGI バイナリとしてインストールされているかに関係なく、まったく同じ PHP コードを使用できますか? これら 2 つのケースでは処理が異なることは理解していますが、Apache がすべて処理してくれるのでしょうか (httpd.conf で適切な設定を行っている場合)、それとも実際の PHP コードに何らかの方法で反映する必要がありますか? コードを変更せずに、mod_php ソリューションから cgi-bin ソリューションにコードを移植できますか?