解決PHPファイルのパーミッションの問題を解決するために導入効果でopen_basedirの制限、

次のように:

警告:必要():効果でopen_basedirの制限。ファイル(/ WWW / wwwrootに/ zhuyuyun /:(/www/wwwroot/zhuyuyun/thinkphp/start.php)が許可され、パス(複数可)内に入っていない公共 /の/ proc / /:/ tmpに/)/ WWW / wwwrootにでzhuyuyun / 公衆回線20上の/index.php 
警告必要(/www/wwwroot/zhuyuyun/thinkphp/start.phpを):ストリームをオープンに失敗しました:操作/ WWW / wwwrootに/ zhuyuyun /で許可されていない公共の/index.phpライン20 
致命的なエラーはが必要)(:失敗開口必要'/www/wwwroot/zhuyuyun/public/../thinkphp/start.php'(のinclude_pathを= ':/ WWW /サーバ/ PHP / 56 / LIB / PHPの)/ WWW / wwwrootに/ zhuyuyun /で公衆ライン20上の/index.php

 

問題の原因:

表示問題の説明だけでなく、データとは、PHPのことがわかった  open_basedirの設定の問題は、PHPは、その親ディレクトリのと書類上の導入を承認することはできません。

このような問題ではありません通常の状況下では、問題は、このような制限を行う前に、セキュリティのために、これはサーバーが原因である例大半の結果でした!

 

ソリューション:

私が最初に次のメソッドは、すべての新聞に適していることを述べるたい「PHP新聞:必要():内open_basedirの制限効果」 だけでなく、thinkphp5人々のための間違ったプロジェクトを、。限り、あなたのPHPのレポートとして、このエラーを解消することができます。

 

ThinkPHP5が上に展開した場合LAMP / LNMP環境の状況は非常に黒と白または500で表示されることがあり、この時間は、open_basedirの設定が間違っているので、それがあるかどうかを判断するためにPHPのエラーメッセージをオープンする必要がありますか?

オンにオフに開き、検索のphp.iniはdisplay_errorsは、それを変更ページのエラー・メッセージが表示されます訪問する次の時間の前に黒と白のPHPのエラーを、オープンしました。次のエラーメッセージ場合は、理由の問題のopen_basedirのの可能性があります。

必要():効果でopen_basedirの制限。

、php.iniの変更方法

フレームワークのルートディレクトリのファイルのディレクトリエントリを変更する権限の範囲

 

php.iniの検索open_basedirのを開き、

  1. open_basedirの=  "/ホーム/ wwwrootに/ TP5 /公共/:/ tmpに/:は/ var / tmpに/:/ procの/"

に改訂

  1. open_basedirの=  "/ホーム/ wwwrootに/ TP5 /:/ tmpに/:は/ var / tmpに/:/ procの/"

 

注意:

あなたがphp.iniファイルopen_basedirのオプションを設定した場合は、注釈付きまたはなしにされ、その後、あなたは、Apacheやnginxのを修正する必要があります> php.iniファイルはもちろんのは/ usr / local / PHP / etcディレクトリ、通常でありますご使用の構成に応じて、LAMP環境。

 

二、Apacheの修正方法

Apacheはビルド環境が最も直接的に.confファイルドメイン名を変更されたキーLAMPインストールパッケージの設定であれば、同じディレクトリの下に自分のドメイン名.confファイルのhttpd.confやバーチャルホストのディレクトリを変更する必要があります

  1. アパッチ
  2. ├─vhost
  3.     ├─www.thinkphp.cn.conf 
  4.     ├─......
  5. ├─httpd.conf

 

ドメイン名.confファイルの検索open_basedirのを開き、

  1. php_admin_valueのopen_basedirの  "/home/wwwroot/www.thinkphp.cn/public/:/tmp/:/var/tmp/:/proc/"

に改訂

  1. php_admin_valueのopen_basedirの  "/home/wwwroot/www.thinkphp.cn/:/tmp/:/var/tmp/:/proc/"

 

次に、有効にするにはApacheを再起動します

> .confファイルには、コンフィギュレーションLAMP環境に応じて、当然のことながら、は/ usr / local / apacheの/ confディレクトリに通常のドメイン名であります

 

三、nginxの/ Tengine修飾法

nginxのは、ビルド環境がLNMP / LTMP最も直接的ファイルfastcgi.confを変更されたキーのインストールパッケージの設定であれば、ファイルnginx.confや研究会/バーチャルホストディレクトリの.confドメイン名を変更する必要があります

  1. nginxの
  2. ├─conf
  3.     ├─vhost
  4.         ├─www.thinkphp.cn.conf
  5.     ├─nginx.conf
  6.     ├─fastcgi.conf
  7.     ├─......
  8. ├─nginx.conf

 

オープンfastcgi.confファイル検索open_basedirの、

  1. fastcgi_paramはphp_value   "open_basedirの= /ホーム/ wwwrootに/ www.thinkphp.cn /公共/:/ tmpに/:/ procの/";

に改訂

  1. fastcgi_paramはphp_value   "open_basedirの= /ホーム/ wwwrootに/ www.thinkphp.cn /:/ tmpに/:/ procの/";

 

次に、有効にするnginxのを再起動します

 fastcgi.confファイルには、ご使用の環境設定LNMP LTMPによってはもちろん、は/ usr / local / nginxの/ confに/ディレクトリに通常/

 

注:上記の変更私たちは絶対アドレスを使用するだけでなく、このサイトのルートに直接アクセスすることができます(あなたがそう設定されている場合、あなたは異なるプロジェクトの原則を理解しなければならない別のルートディレクトリを持っている、それ以外の場合は実行不可能。):

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

このコード行は、上記のあなたのルートディレクトリは公開されている場合は、$ DOCUMENT_ROOTが公衆に参照する、thinkphp話すを取得します。

それでもエラーは以下の通りである生成します。

  1. fastcgi_paramはphp_value   "open_basedirの= /ホーム/ wwwrootに/ www.thinkphp.cn /公共/:/ tmpに/:/ procの/";

 

四、FPM / FastCGIをuser.ini変更方法

User.iniは、プロジェクトのルートディレクトリ、検索open_basedirのを開くファイルを見つけます

  1. open_basedirの= /ホーム/ wwwrootに/ www.thinkphp.cn /公共/:/ tmpに/:/ procの/

に改訂

  1. open_basedirの= /ホーム/ wwwrootに/ www.thinkphp.cn /:/ tmpに/:/ procの/

次に、効果を取るために、Webサーバを再起動します!

 

多くの友人があるので言葉「を使用パゴダパネル」または「LNMP / LAMP法はコメントを見ることができます設定し、」ワンクリックインストールパッケージを!

おすすめ

転載: www.cnblogs.com/kinwing/p/11105010.html