apache」タグアーカイブ

Plesk11環境でNginx 413 Request Entity Too Largeエラーが表示される

Plesk11環境下でPHPを動作させていると、Nginx 413 Request Entity Too Largeというエラー表示が出る場合。

解決策は以下のとおり。

1.nginxを無効にする

nginxを無効にする方法
Plesk11の管理画面、もしくは、Pleskの付属コマンドの操作(nginxmng)で行います

2.nginxのバーチャルドメインテンプレートファイルを編集する

※以下の作業を行うと、サーバ内の全ドメインに対して、設定が変更になります。
2-1) /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php
のファイルを編集

以下の行を変更します
変更前: client_max_body_size 128m;
変更後: client_max_body_size 256m;

※変更後の数値は例です

2-2) 変更したら実際の設定ファイルに反映するため httpmng –reconfigure-all を実行します

# /usr/local/psa/admin/bin/httpdmng –reconfigure-all

PHPからバッチファイルを実行してpsql.exeを実行する方法

windowsシステムで稼働しているApache,PHPから、PostgreSQLへのテキストファイルのインポートを実施したいのですが、
PHPのexecでコマンドを実行するとなぜかブラウザがタイムアウトするまで読み込み中。
しかも、処理が完了していない。

execのコマンドの構文が間違っているのか?
調べたところ、psqlコマンドに-cと-qのオプションがないと対話式になってしまう。

-c ‘SQL’ クエリ(SQL)を直接実行
-q psqlが対話なしに実行される。

しかし、状況変わらず。

一度バッチファイルに処理を書き出して実行するもNG.
しかし、サーバー上でバッチファイルを実行すると正常動作。

さらに調べたところ、パスワードの入力待ちではないのか。
そもそもwindowsのApacheはサービスで稼働しており、daemonとして実行。
パスワードファイルを作成するとコマンドプロンプトではパスワード聞かれないみたい。
(参照:http://www.postgresql.jp/document/8.4/html/libpq-pgpass.html)

環境変数にセットすればいいのでは。
バッチファイルの先頭にパスワードセットのコマンドを出力するように変更。
SET PGPASSWORD=xxxxxxx

正常に動作しました。

出力やエラーが出ないのでハマりました。