よくある質問
サービスについて > CGI・SSI・PHP > PHP
-
PHPが正常に動作しません。
php.ini の値に相違点がないかご確認ください。php.ini はPHPの動作設定を行うためのファイルであり、サーバーによってこの値が異なる場合がございます。
php.ini はお客様個別に設定を変更していただけますので、お客様のPHPプログラムの作成者様にphp.ini の適切な値を確認したうえで、下記をご参照の上、ご設定ください。
尚、弊社にお問い合わせいただく中では、register_globals という値が OFF だと動作しなくなってしまうプログラムが多いようでございます。
仮に、これが原因の場合は、register_globals = on と記載した php.ini を設置していただければ phpが動作するようになります。(ただし、register_globals = on はセキュリティ上推奨しておりません)
php.ini の設定変更について
sv1〜sv35サーバー
php.ini の設定を変更したいディレクトリに .htaccess を設置してください。.htaccess の内容の例は以下のようになります。
-------------------------------------------------
php_value register_globals 1
php_value magic_quotes_gpc 0
php_value session.use_cookies 0
php_value session.use_trans_sid 0
php_value output_buffering 1
php_value output_handler mb_output_handler
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input EUC-JP
php_value mbstring.http_output EUC-JP
php_value mbstring.encoding_translation 1
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none
--------------------------------------------------sv50サーバー以降
ホームディレクトリ(初期FTPアカウントでアクセスした際の一番上の階層)に php.ini を設置してください。この場合、設定はお客様のアカウントの全てのディレクトリに反映されます。ディレクトリ毎に個別に設定したい場合は、設定を変更したいディレクトリに php.ini を設置してください。php.ini の内容の例は以下のようになります。
-------------------------------------------------
safe_mode = off
max_input_time = 60
output_buffering = none
safe_mode_exec_dir = none
upload_max_filesize = 10M
variables_order = EGPCS
dbx.colnames_case = lowercase
HTTP input encoding translation = on
mbstring.detect_order = auto
mbstring.encoding_translation = on
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
session.save_path = /var/lib/php/session
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
-------------------------------------------------- -
PHPを設置すると「500 Internal Server Error」が表示されます。
PHPのパーミッションやPHPを設置しているディレクトリのパーミッションが 777 や 666 の場合、500エラーが発生します。
PHPのパーミッションは 700、PHP設置ディレクトリのパーミッションは 711 にしてください(PHP本体・PHP設置ディレクトリのパーミッションは755でも動作します、700・711はより高いセキュリティとなります)。
-
PHPは使用できますか?
はい、既にインストール済みですのでご利用が可能です。
ご利用いただくことができますバージョンは、PHP4.3.9、PHP5.1.6、PHP5.2.13、PHP5.3.2となります。
※PHP4.3.9については、長期的なサポートが予定されていないため、ご利用をお奨めしておりません。
※バージョンの切り替えについては、「PHPのバージョン切り替え」をご参照ください。
-
php.iniの変更が反映されない。
php.iniに関しまして、ホームディレクトリ以外に設置された場合は、下位ディレクトリには、適用されず、設置ディレクトリのみに適用されます。
尚、php.iniの読み込み優先度は
- ホームディレクトリに設置されている php.ini
- ホームディレクトリ以外のディレクトリに設置されている php.ini
となります。
このため、php.iniを ホームディレクトリと、その他のディレクトリにそれぞれ設置している場合は、 ホームディレクトリ側が優先されますのでご注意ください。
-
PHPが文字化けしてしまう。
PHPの文字化けに関しては、プログラム自体の文字コード、表示ページのContent-Typeの設定、またはphp.iniのmbstringの影響であると考えられます。
例:sv50サーバー以降のphp.iniのmbstring設定
-------------------------------------------------
mbstring.detect_order = auto
mbstring.encoding_translation = off
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
-------------------------------------------------- -
PHPのバージョンを教えてください。
バージョンはPHP4.3.9、PHP5.1.6、PHP5.2.13、PHP5.3.2となります。
※バージョンの切り替えについては、「PHPのバージョン切り替え」をご参照ください。
-
PHP5は利用できますか?
サーバーパネルの「PHPver切り替え」において、バージョンを切り替えていただくことで使用が可能になります。
PHP5.1(5.1.6)/PHP5.2(5.2.13)/PHP5.3(5.3.2)がご利用いただけます。
-
PHPにはマルチバイトのモジュールは組み込まれていますか?
はい、組み込まれています。
-
php.iniの設定を変更したいのですが可能ですか?
可能ですが、サーバーによって変更方法が異なります。下記をご参照ください。
php.ini の設定変更について
sv1〜sv35サーバー
php.ini の設定を変更したいディレクトリに .htaccess を設置してください。.htaccess の内容の例は以下のようになります。
-------------------------------------------------
php_value register_globals 1
php_value magic_quotes_gpc 0
php_value session.use_cookies 0
php_value session.use_trans_sid 0
php_value output_buffering 1
php_value output_handler mb_output_handler
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input EUC-JP
php_value mbstring.http_output EUC-JP
php_value mbstring.encoding_translation 1
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none
--------------------------------------------------sv50サーバー以降
ホームディレクトリ(初期FTPアカウントでアクセスした際の一番上の階層)に php.ini を設置してください。この場合、設定はお客様のアカウントの全てのディレクトリに反映されます。ディレクトリ毎に個別に設定したい場合は、設定を変更したいディレクトリに php.ini を設置してください。php.ini の内容の例は以下のようになります。
-------------------------------------------------
safe_mode = off
max_input_time = 60
output_buffering = none
safe_mode_exec_dir = none
upload_max_filesize = 10M
variables_order = EGPCS
dbx.colnames_case = lowercase
HTTP input encoding translation = on
mbstring.detect_order = auto
mbstring.encoding_translation = on
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
session.save_path = /var/lib/php/session
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
-------------------------------------------------- -
.htmlや.htmでPHPを動作させたいのですが、どうすればいいでしょうか?
PHPを.htmlなど、.php、.phps 以外の別拡張子で実行するには、.htaccessを以下のように編集すれば可能です。
----------------------------
AddType x-httpd-php .html
----------------------------しかし、本設定はサーバー負荷を引き上げる可能性があり、500エラーが出やすくなったりと、リソース制限が掛かりやすくなる可能性があるため、過度なご利用は勧めておりません。 必要な箇所にのみ適用を行うなど、ご利用の際は何卒ご注意ください。
-
突然、または断続的にCGIやPHPが500エラーで動作しない。
500エラーが発生した直後にサーバーパネルトップメニューの「ログファイル」より対象ドメインのエラーログをご確認ください。
Resource temporarily unavailable というエラーメッセージが表示されている場合は、CGIやPHPの同時起動数が多くなっていて、アカウント単位のリソース制限がかかっている可能性がございます。
共用サーバーという性質上、一つのアカウントにリソースが占有されないように設定されております。なにとぞご了承ください。
