質問
- サブドメインでphpを動かすには?
-
本文:
初心者で大変初歩的な質問で申し訳ございません。
検索しても判らず恐れ入りますがお教えいただけますと助かります。
PHP利用時のサブドメイン設定での質問になります。
PHPを設定する際に通常ドメインで設定する場合には
エラーにはならないのですが、サブドメインでPHPを設定すると
エラーになってしまうため困っております。
サブドメインでPHPを通常通りに設定をすると
ドキュメントルートが異なってエラーとなってしまうのですが
こちらを解消するために設定などで変更する事は出来るのでしょうか。
またphpやデータベースをサブドメインに関連付けることは出来ますでしょうか。
◆エラーメッセージ
Parse error: syntax error, unexpected 'require_once' (T_REQUIRE_ONCE) in /home/(ユーザー名)/(サブドメイン)/public_html/(phpファイル名) on line 201
ご回答いただけますと幸いです。
どうぞ宜しくお願いいたします。 - 緊急度:急ぎ投稿者:KNさん投稿時間:2016/07/28 08:16
回答 No.5010
-
本文:
大変失礼致しました。
上記質問ですが、サブドメインではなく追加ドメインでの設定になります。
恐れ入りますが質問内容のサブドメイン部分は追加ドメインに変更でお願い致します。
◆エラーメッセージ
Parse error: syntax error, unexpected 'require_once' (T_REQUIRE_ONCE) in /home/(サーバーID)/(追加ドメイン)/public_html/(phpファイル名) on line 201
- 投稿者:KNさん 投稿時間:2016/07/28 08:29
回答 No.5011
-
本文:
require_onceの直前の行を5〜6行引用してみては?
- 投稿者:ジョバンニさん 投稿時間:2016/07/28 12:21
質問者からのコメント
ジョバンニ様、ご確認ありがとうございます。
申し訳ございません。HTMLのファイルやPHPのセットプログラムからスクリプトを実行すると
上記の1行のみが表示されたページが現れるため、他のエラーメッセージなどは
まったくない状態となっております。
回答 No.5013
-
本文:
だからさ、このファイル
/home/(サーバーID)/(追加ドメイン)/public_html/(phpファイル名)
の、190行目くらいから201行目くらいまでを引用してごらんといっているの。
見る限りでは、サブドメイン云々は全く関係なくて、単純な文法エラー。
( 括弧の対応ができていないとか、: と ; を間違えるとか その種の間違い )
それから、エラーメッセージが、
syntax error, unexpected xxx
なら、普通は、その次に
ZZZ expected.
みたいな行があるものだけれど、省略していないですか?
「エラーの原因は大抵の場合、『あなたが関係ないと思って省略した部分』にある」のですよ。
- 投稿者:ジョバンニさん 投稿時間:2016/07/28 17:42
質問者からのコメント
ジョバンニ様
再度のご返答をありがとうございます。
■
上記回答にも書かせていただいたのですが、前回の設置でうまく出来なかったPHPを
何も手を加えずにアップしたところ、追加ドメインでも無事動作いたしました。
前回設置でうまく出来なかったのが、PHP工房さんの「【MailForm01】PHP多機能メールフォーム フリー(無料)版」
で、require_onceはプログラムにはなく、エラーメッセージもあちらの2行だけでした。
HTMLファイルのタグの部分を4⇒5へ変更し、別ファイルのスタイルシートを追加し可愛く変更したかったのですが
うまく機能しなかったので、追々カスタマイズを試してみたいと思います。
■
また試してみて、どうしても出来なかった場合に改めてご質問させていただきたいと思います。
ご対応ありがとうございました。
回答 No.5012
この回答がベストアンサーです
■
require_once 行の最後に「;」がないとかそういう「類」のエラーではないんでですよね?
■
>サブドメインでPHPを通常通りに設定をすると
>ドキュメントルートが異なってエラーとなってしまうのですが
>こちらを解消するために設定などで変更する事は出来るのでしょうか。
ドメイン(サブドメイン)とフォルダの割り当ては固定で、
ネットオウルのサービスでは、ユーザーは変更することはできません。
ということで、設定などでは変更できません。
■
>ドキュメントルートが異なってエラーとなってしまうのですが
エラーの原因がドキュメントルートが違うことがエラーの原因なら、
違っても動作するように書き換えればよいのでは?
どういうコードかは知りませんが、例えば単純な例だと
修正前
require_once パス_ドメイン/Aというファイル
修正後
include_once パス_ドメイン/Aというファイル
include_once パス_サブドメイン/Aというファイル
みたいな感じで、どちらのドメインでも動くようにphpで書くとかの別の解決をしたほうがようのでは?
相対パスで指定するとか、
ドメインをみて、require_once のパスを動的に書き換えるとか
pathinfoを使ってみるとか
他にも、いろいろ書き方はあるかと思います。
質問者からのコメント
k-tan様
お連絡が遅くなってしまって申し訳ございません。
■
「;」や「:」の間違いではないようでしたが、元の配布ファイルをそのまま上げてみたところ、
追加のドメインでも動作しましたのでHTMLファイルを4から5へと変更した部分や
CSSでなにか間違いがあるのかもと思われましたので、もう一度確認してみたいと思います。
■システムでのフォルダルートの固定についてもご解答ありがとうございます。
別プログラムのMySQLの設定部分でも自動の組み込み設定ではドキュメントルートに余計なルートが追加表示されてしまい、修正部分がわからなかったので
システム側での修正が出来ればいいなと思ったのですが、無理なようですので
書き換え部分の変更についてもう一度探してみたいと思います。
★
Strict Standards: Only variables should be passed by reference in
</home/(ID名)/(追加ドメイン名)/public_html/>(指定ドメインフォルダ)/(階層)/(階層)/PHPファイル on line 13
★
(といったように、自動プログラムで<>部分の余計なルートが自動追加されてしまう)
■
ご丁寧なご解答をくださいましてありがとうございました。
また試してみて、どうしても出来なかった場合に改めてご質問させていただきたいと思います。