フリーCGIサポート情報 > FAQ(よくある質問&回答)
サポート掲示板に寄せられる質問&回答をまとめました。
全般
・ダウンロードしたCGIが文字化けします。
・なぜ文字コードがEUCなのでしょうか?
・内部サーバーエラー(500 Internal Server Error)とでます。
・サクラサーバーでの利用
acmailer
・ログインできません。(クッキーの問題)
・「セッションが書き込めません。」というエラーがでる。
・何件送信できますか?
formmailer
・「不正なアクセス」エラーを非表示にする。
当サイトのCGIの多くは文字コードをEUCとしております。
そのため 、WINのメモ帳などでは文字化けします。
EUC対応のテキストエディターで編集してください。WINではPeggy padやPerlEditorが有名です。
MACはミミカキエディット,JEDITなどが有名です。
当サイトのCGIは、多くのプロバイダーで採用されているUNIX系OSでの動作を前提としております。UNIX系サーバーは基本的に文字コードはEUCとなっており、EUCのスクリプトであれば日本語も問題なく扱えるため、当サイトのCGIは文字コードをEUCとしております。
もし、文字コードをSJISにしてCGIを動かせば、動くこともありますが、動作保証はできません。
【全般】内部サーバーエラー(500 Internal Server Error)とでます。
内部サーバーエラー(500 Internal Server Error)とはCGIを設置して必ずといっていいほどでるエラー画面です。
しかし、これほど困ったエラー画面はありません。なぜなら、このエラー画面だけではエラーの原因が特定できないからです。
よくこの画面が出てしまう原因として以下のようなものがあります。
・一行目のPerlのパスが違う。
・文末の「;」抜け、「"」「'」の閉じ忘れ。
・スクリプトをEUCコードで保存するところをShift_JISで保存してしまった。
・FTPでアスキーモードではなくバイナリモードであげてしまった。
・htmlヘッダーを出す前にContent typeを出していない。
多くはperlの初歩的なミス原因ですが、原因をつきとめるためには、WEBサーバのエラーログを見るのをお勧めいたします。
サクラサーバーでお使いいただいている方からの情報です。
サクラサーバーでは777のパーミッションではCGIの起動が出来ません。
サクラでは755にしなければなりません。
【acmailer】ログインができません。(クッキーの問題)
以下を参考にしてください。
・お使いのブラウザのクッキーは有効ですか?
・一度、クッキーやキャッシュをすべてクリアーして、パソコンの再起動をされるとどうですか?
・セキュリティーチェックソフトがインストールされていませんか? そのソフトがクッキーをブロックしていませんか?
・スクリプトに手を加えられているのであれば、知らないうちに間違った設定をしている可能性もありますので、再び新たにダウンロードし設置されるとどうなりますか?
【acmailer】「セッションが書き込めません。」というエラーがでる。
以下を参考にしてください。
・dataディレクトリを作成してありますか?
・dataディレクトリのパーミッションは「777 or 700」ですか?
・dataディレクトリがファイルであったりしていませんか?
(ディレクトリとはフォルダの事です。)
また、以下のようにCGIサーバーとWEBサーバーが別の場合も同様のエラーがでるようなのですが、現在のところ対応ができておりません。恐れ入りますが別サーバーでご使用ください。
CGIを設置するサーバー
http://cgi.XXX.co.jp/
HTMLを設置するサーバー
http://www.XXX.co.jp/
acmailer自体の送信数制限はありませんが、サーバーによって送信可能数が変わってきます
一切制限のないサーバーで、回線もそれなりに確保できれば、理論的にメール送信は無制限です。
サーバー側のCGI制限、回線の帯域、エラーメールなどによる送信先サーバーのレスポンス低下など様々な理由により送信数は変わってきます。
特に携帯宛のメールはキャリア側(ドコモ、AU、SOFTBANK)の制限が厳しいため、通常のホスティングでは数百を超える送信は厳しい状況です。
またエラーメールを含む場合は、送信途中でキャリア側により遮断されてしまう場合がありますので、送信には十分にご注意ください。
参考値としましては、PC宛のメールで、専用ハウジングサーバー、100MB共有回線、エラーメールほぼなしの場合であれば、一時間以内に20万件の送信は問題ありません。
【formmailer】「不正なアクセス」エラーを非表示にする。
一番手っ取り早い方法は
| $limit_url = ''; |
# 指定サイト以外からのアクセスを禁止
| &limit_access($limit_url); |