タグ付けされた質問 「php」

PHPは、特にWeb開発に適した汎用スクリプト言語です。オンラインマニュアルは、言語構文に関する優れたリソースであり、組み込み関数と拡張関数の広範なリストがあります。ほとんどの拡張機能はPECLにあります。

1
Apache .htaccess <ifModuleはここでは許可されません
PHP 5.5を使用してUbuntu PreciseでApacheを実行する myにアクセスしようとするとvar/www/500が得られます。 /var/log/apache2/error.log ショー: /var/www/web/.htaccess: &lt;IfModule not allowed here 私の.htacessは: DirectoryIndex app.php &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/app.php [L] &lt;/IfModule&gt; &lt;IfModule !mod_rewrite.c&gt; &lt;IfModule mod_alias.c&gt; RedirectMatch 302 …

5
PHPセッション用のUbuntuのガベージコレクションcronジョブの実行に25分かかります。なぜですか?
Ubuntuには、古いPHPセッションを検索して削除するcronジョブがセットアップされています。 # Look for and purge old sessions every 30 minutes 09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] \ &amp;&amp; [ -d /var/lib/php5 ] &amp;&amp; find /var/lib/php5/ -depth -mindepth 1 \ -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir \ fuser -s {} 2&gt; /dev/null \; -delete …


1
Apache MPM-ワーカーとプリフォーク
VPSにインストールできる最高のApache MPMはどれかを見つけようとしています。いくつかのベンチマークを見ましたが、MPMワーカーはPreforkベンチマークよりもパフォーマンスが高いようですが、何らかの理由で、PHPのセットアップにはワーカーがPreforkを推奨しているようです。 これは、一部のPHP関数がスレッドセーフではないというだけの理由ですか?setlocale()頭に浮かぶだけですが、すべてのインスタンスで同じロケールを使用するので、それが問題になるとは思いません。私のVPSのメモリはほとんどなく、ワーカーのMPMが私のニーズに合っていると思いますが、よくわかりません。 誰かが私についてこれについて決心するのを手伝ってくれますか?ありがとう! PS: nginxとlighttpdも調べました。nginxは素晴らしいように見えますが、ソースからのコンパイルを避けようとしていますが、php-fpmの目的がまだよくわかりません。lighttpdについて-PHP / FCGIをセットアップするのは信じられないほど簡単でしたが、メモリリークがあると聞きました。これはまだ本当ですか?

3
PHPからmail()で送信されたメールのログを取得します(sendmail?)
サーバーが変更された後、PHP構成が無効になり、クライアントの大きなメーリングリストが約4,000以上のアドレスで部分的にタイムアウトになりました。重複するメールをできる限り送信しないようにし、元のメーリングリストを用意します。 メールはPHPの使用して送信されたmail()機能、用途sendmail、それは使っていると言い、Exim。私はコマンドを見ました: sendmail -bp 表示されたメールのリストが送られてきました。このリストはそれほど大きくなく、正確である可能性があります(100通程度の電子メールの送信後にスクリプトがタイムアウトしたことを意味します) sendmail -bpこのリストを取得する最善の方法はありますか? 編集:またはでmail.logファイルを見つけることができませんが、WHMはこれに関する情報を持っているようです。/var/log/mail.loglocate mail.log
13 linux  php  email  sendmail  exim 

4
デフォルトをPostfixのアドレスからwww-dataから別のものに変更します
UbuntuサーバーでPostfixとApache / PHPをセットアップします。メールは適切なドメイン名で問題なく送信されるようになりましたが、Postfixがデフォルトでユーザーの名前を使用すると想定しているため、ローカル部分の表示名は常に「www-data」です。 php.iniファイルでtoを変更できましsendmail_pathたsendmail_path = "/usr/sbin/sendmail -t -i -f support@example.com"が、メールの表示名はwww-dataのままです。表示名をいくつかの異なる方法で指定しようとしましたが、無視され、メールは引き続きwww-dataとして送信されました。 私ができるようにしたいのは、デフォルトでは、from、return-pathなどのヘッダーが欠落しているメールをとして送信する"Example Support" &lt;support@example.com&gt;ことですが、それが可能かどうかはわかりません。

3
Apacheでgzip圧縮が有効になっている場合、Content-Lengthは送信されませんか?
このApacheの振る舞いを理解する手助けをしてくれれば本当にありがたいです。 application / jsonのiPhone Objective-CアプリからPHPと通信しています。Gzip圧縮はサーバーで有効になっており、クライアントによって要求されます。 私の.htaccessから: AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php application/json 小さなリクエストの場合、Apacheは 'Content-Length'ヘッダーを設定しています。例(これらの値は、Objective-Cのヘッダーから出力されます): Connection = "Keep-Alive"; "Content-Encoding" = gzip; "Content-Length" = 185; &lt;------------- "Content-Type" = "application/json"; Date = "Wed, 22 Sep 2010 12:20:27 GMT"; "Keep-Alive" = "timeout=3, max=149"; Server = Apache; Vary = "Accept-Encoding"; "X-Powered-By" = "PHP/5.2.13"; "X-Uncompressed-Content-Length" …

4
Windows Server 2012 R2は一時ポートを使い果たしますが、そうすべきではありません
専用サーバー上のネットワークで奇妙な問題が定期的に発生しています。16 GB RAMおよびIntel 82575EBネットワークアダプターを搭載したXeon E5620上でWindows Server 2012 R2 x64を実行します。 我々はすでに調整されてきたことに注意してくださいHKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parametersキーの値をTcpTimedWaitDelayしてMaxUserPort、それぞれ30および65530に。 ウェブサイトがローカルデータベースに接続できないという理由で、ウェブサイトがランダムに応答を停止します。この問題が発生し始めるのは、約2週間の稼働時間です。システムログは、TCPIP警告4227および4231の取得を開始します。「グローバルTCPポートスペースから一時ポート番号を割り当てる要求は、そのようなポートがすべて使用されているために失敗しました。」 走ったら Get-Counter -Counter \TCPv4\* または Get-Counter -Counter \TCPv6\* または netstat -abn | find /c ":" 私は常に500-1500接続という妥当な値を取得しますが、これは65Kの制限に近いものでもありません。 さらに、「localhost」はローカルで:: 1への解決を停止し、127.0.0.1に戻り ます。強制的にマシンを再起動するだけで状況を解決できます。 ネットワークアダプタの問題でしょうか? 更新1 再び発生し、メールサーバーを再起動すると解決されたようです。奇妙なことに、すべてのカウンターが、現在アクティブである500個までの1000個の接続と、メールサーバーとは関係のないデータベースに接続しようとすると10055ソケットエラーを示しました。 更新2 これは奇妙ですが、メールサービスを毎日再起動すると問題は完全に修正されます。

1
PHPホスト名が正しくありません
現在、問題なく約2年間実行されているアプリケーションがあります。 今朝、サイトにアクセスしたときにエラーが発生していました。 Session: connection failed データベース接続を確認し、ユーザーを確認し、ユーザーの許可を確認しましたが、すべて正常に見えました。 .inc.xmlファイルの接続情報を使用してテストページを作成しました mysql接続エラーが発生しました。 これは元のファイルです。 &lt;TYPE&gt;mysql&lt;/TYPE&gt; &lt;HOST&gt;dbl&lt;/HOST&gt; &lt;USER&gt;dbuser&lt;/USER&gt; &lt;PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD"&gt;password&lt;/PASSWORD&gt; サーバーのホスト名がdblではありません 2行目をこれに変更しました。 &lt;TYPE&gt;mysql&lt;/TYPE&gt; &lt;HOST&gt;localhost&lt;/HOST&gt; &lt;USER&gt;dbuser&lt;/USER&gt; &lt;PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD"&gt;password&lt;/PASSWORD&gt; うまく接続しました。 元の.inc.xmlファイルに同じ変更を加えたところ、アプリケーションは正常にバックアップおよび実行されました。 私の質問: 監査ログ、接続、クエリを確認しましたが、システムは約3週間アクセスできませんでした。 .inc.xmlは1年以上前に最後に変更されました。 アプリケーションがdblをホストとして突然停止するのはなぜですか? そのdblホスト名はどこから来たのですか? システムレイアウト: [root@acpr-web-x ~]# cat /proc/version Linux version 2.6.32-358.2.1.el6.x86_64 …
12 php  redhat  httpd 

2
GDライブラリをPHPにインストールする方法は?
PHPでimagefromjpeg()関数を使用しようとするとエラーがスローされたため、次のコマンドを使用してGDライブラリをインストールしようとしました。 sudo apt-get install php5-gd しかし、次のエラーが発生しました。 php5-gd : Depends: php5-common (= 5.5.9+dfsg-1ubuntu4) but 5.5.10+dfsg-1+deb.sury.org~saucy+1 is to be installed E: Unable to correct problems, you have held broken packages. Ubuntu 14.04LTSを使用しています。最近、OSをubuntu 13.10からアップグレードしました。このエラーを克服するには? の出力dpkg -l|grep php は次のとおりです。 ii cakephp 1.3.15-1 all MVC rapid application development framework for PHP ii cakephp-scripts 1.3.15-1 all …
12 ubuntu  php  gd 

1
laravelのphp職人サーブサーバーがIIS上のWWWからアクセスできないのはなぜですか
laravel artisan サーバーを通してlaravelアプリケーションを実行しています: php artisan serve そして、私が自分のlocalhost:8000.. に進むとうまく機能します。さらに、次のようにIISサーバーにインバウンドルールを追加しました。 コントロールパネル-&gt;管理ツール-&gt;セキュリティが強化されたWindowsファイアウォール、受信の規則。新しいルール「ポート、TCP、8000、すべてのプロファイルを許可する」を作成します しかし、何らかの理由で、私はまだWWWからWebサイトにアクセスできません(Webrickサーバー(同じマシン上で)に対してまったく同じ手順を実行し、完璧に機能しました)。

1
私のnginxの書き換えはphpファイルをダウンロードしています
私がしようとしている次の書き換えルールがあります: location / { index index.php index.html; rewrite ^/test$ /test.php break; } そして私も持っています: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name; fastcgi_index index.php; } 通常のphpファイルは問題なく動作しますが、リダイレクトは解析するのではなく、リダイレクト先のphpファイルをダウンロードするだけのようです。 私は何が欠けていますか?ダウンロードする代わりに、fastcgiを最初のロケーションブロックに配置してファイルをロードしましたが、それでもphpとして解析されませんでした。
12 php  nginx  rewrite 

6
Nginxによって処理されるのではなく、PHPファイルがダウンロードされるのはなぜですか?
同じ問題があり、タイプハンドラーの追加を指す多くの解決策がありますが、それはApacheの問題です。 Arch Linux、Nginx、PHP、およびPHP-FMPを使用していますが、なぜPHPファイルが実行されずにダウンロードされるのかわかりません。 ここに私のnginx.confがあります: #user http; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; …
12 php  nginx  php-fpm 

8
これはハッキングの試みですか?
404ログを調べると、次の2つのURLに気付きました。どちらも1回発生しました。 /library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ そして /library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00 問題のページには、半ダースの異なる許容値をlibrary.php持つtype変数が必要idです。次に変数が必要です。したがって、有効なURLは library.php?type=Circle-K&amp;id=Strange-Things-Are-Afoot IDはすべてmysql_real_escape_string、データベースのクエリに使用される前にすべて実行されます。 私は新人ですが、これらのリンクの両方がwebrootに対する単純な攻撃であるように思えますか? 1) 404以外のこれらの種類の事柄から保護する最善の方法は? 2)責任のあるIPをパーマバンする必要がありますか? 編集:また、これに気づいた /library.php=http://www.basfalt.no/scripts/danger.txt 編集2: 3つの攻撃すべての攻撃IPは216.97.231.15、ロサンゼルスのすぐ外にあるLunar Pagesと呼ばれるISP に由来します。 編集3:金曜日の朝、現地時間にISPに電話して、電話で連絡できる人と問題について話し合うことにしました。ここに結果を24時間ほどで投稿します。 編集4:私は最終的に彼らの管理者にメールを送り、彼らは最初に「彼らはそれを探していた」と答え、1日後に「この問題は今すぐ解決されるべきだ」と答えた。悲しいことに、それ以上の詳細はありません。
12 security  mysql  php  hacking 

2
Apache、Nginx、または他のWebサーバーで実行されている場合、PHPで検出する方法は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、話題のサーバー障害のため。 2年前に閉店。 最初に私はこの変数を知っています: _SERVER["SERVER_SOFTWARE"] 私のアプリケーションの1つで、PHPスクリプトからそれが実行されているWebサーバーを確認したいです。基本的には、ブロガーがいくつかの設定を調整するのに役立つワードプレスプラグインになります。 ApacheとNginx用に別のプロセスを作成し、2つの異なるワードプレスプラグインとしてコードをリリースすることも考えていました。 それから、PHPにWebサーバーを完全に検出するための完全な方法があるかどうか知りたいと思いました。 すべての場合を考慮してください:: Apache、Nginx、Apache + Nginx、ApacheモジュールとしてのPHP、fastcgiを使用したPHP、php-fpm、lighttpd、IISなど また、アプリケーションがコンボとプロキシの存在を検出することも重要です。 おかげで、 -ラーフル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.