2017-12-03 14 views
0

私はプロジェクトでいくつかのことを終えたので、学校に持っているサーバーに公開することに決めました。しかし、何かを実行しようとするたびに、何も表示されません。ここで私は私のindex.phpで使用する一部のコードは次のとおりです。私のroot.phpで私のコードはVirtual Serverでのみ動作するのはなぜですか?

<?php require '/root.php'; ?> 

、私は例えば、私は、サーバー上の私のすべてのページに適用するすべてのものを指定します。

<?php 
$root_php = (realpath(dirname(__FILE__))); 
?> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 
<?php 
$db_connection = mysqli_connect("localhost", "username", "password", "db_main"); 
?> 

上の行はうまくいきますが、ここでは問題があります: "root.php"スクリプトが実行されたパスでパスが "開始"されることを確認するために、最初にスラッシュ「/」を含むスクリプトを含めると、単純な未完成のHTMLページだけを返します。

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 

それはこのようなものになります壊れコード:

require_once '/account/login_verify.php'; 

(スラッシュがいる、先頭にありますが、私はソースコードを見しようとすると、それは常に次のようになります

:私はまた、PHP & MySQLサポートとホスティング別のを試してみましたが、それは(ほぼ)同じ結果を返さ

)スクリプトはどこか別の場所にそれを見つけようとしないであろうことを確認する必要性が存在

<!doctype html> 
<html> 
<head> 

スクリプトのパス全体を設定するには、最初はスラッシュでも$root_php変数でも動作しません。

Apache/PHPの設定に問題はありますか?そうでない場合、コードは物理サーバー上で何もしないうちに仮想サーバーで完全に機能するのはなぜですか?試してみるべきアイディアは大変ありがたいです。ところで、私は学校のサーバーを再構成するアクセス権がありませんが、教師の一人は、私が彼に何を変えるべきかを教えれば、それを再構成することができます。

ありがとうございます!

+0

良いスタートを行うHTMLの正しい宣言になりますcument: '<!DOCTYPE html>'です。 DOCTYPEは大文字でなければなりません! [あなたのWeb文書で使用する推奨Doctype宣言](https://www.w3.org/QA/2002/04/valid-dtd-list.html)。 – ino

+0

2つ目は、PHPエラー報告を有効にすることです。 [https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display](https://stackoverflow.com/questions/1053424/how-do-i-get- php-errors-to-display) – ino

+0

第3の事柄 - あなたの学校環境についての詳細はわかりませんが、私はあなたのプロジェクトがウェブルートに置かれないと言いますので、次のようにしてください: '<?php require ' root.php '; ?> ' – ino

答えて

0

絶対パスを含むファイルは、何らかの外部設定でパスをプルしない限り、含めないでください。

絶対パスは、アプリケーションをインストールするシステムによって異なります。したがって、あなたの最善の選択肢は、既知のエントリーポイントからファイルシステム(現在のファイルの場所など)から始め、そこから相対的にアドレスすることです。

あなたのコードは、ファイルシステム内のどこにあっても、システム間で移植可能になります。

<?php require '/root.php'; ?>の代わりに、<?php require 'root.php'; ?>(root.phpが現在のファイルと同じディレクトリにある場合)を試してください。あなたはどのように近代的で垣間見るをしたい場合は、余分なクレジットについては

<?php require realpath(__DIR__ . '/../../root.php'); ?>

(ファイルシステムのレイアウトがどのように見えるかの実際のパスを適応させる)

:いない場合は、そのように、比較的それに対処することができますPHPアプリケーションは、ディレクトリレイアウトとコードを含めることを扱うPSR4標準を見て、それがどのように使われるか:あなたのWebページを持つ

https://www.google.de/search?q=psr4+tutorial

+0

ありがとう、これは私の最初の問題を解決!しかし、インクルードされたファイルの絶対パスにスクリプトを含めようとするとどうしてエラーを避けるべきですか?スクリプトが異なるディレクトリでソートされている場合は、単に相対パスを使用することはできません。例:index.phpにroot.phpを含めます - >私はroot.phpに別のスクリプトを含めます –

関連する問題