-1

これが私のクイックコードです。これにより、よく使用する PHP 関数用に 1 つのファイルを保持し、必要に応じて取得することができます。これは主に私の個人的な仕事であり、クライアント向けではありません。

$include_contents = '<?php '.file_get_contents("http://example.com/inc/functions.php");  
$handle = fopen("_functions.php", 'w');  
fputs($handle, $include_contents );  
fclose($handle);  
include('_functions.php');
4

2 に答える 2

1

それをしないでください!

これを行うためのより良い方法は、必要なすべてのファイルをローカル ファイルシステムでホストし、それらを通常どおりにインクルード/要求することです。

あなたが提案しているアプローチには利点はなく、これを行うことによって得られるものは何もないほど深刻な多くの欠点があります。

すべてのインクルードを提供するホストがダウンすると、それらを使用するすべてのサイトもダウンします。たとえそれが下がらなくても、追加の http リクエストを実行してリモート ファイルを含めるための余分な待ち時間が、スクリプトの合計実行時間に追加されます。

さらに悪いことに、リモート サーバーが侵害されているか、DNS サーバーが悪用されてリモート サイトのドメインを悪意のあるサーバーに向けている場合、ハッカーは悪意のあるコードを簡単に導入できます。

通常、サーバーには大量のストレージが用意されているため、PHP スクリプトを生成するページの提供元となるサーバー上にすべての PHP スクリプトを保持できない理由はありません。

注: このような非常識なことに固執する場合は、allow_url_include を有効にしてから、URL から直接含めることができます。

しかし、私が言ったように、これは本当に本当に悪い考えであり、allow_url_include がデフォルトでオフになっているのには理由があります。

于 2013-05-08T22:22:35.807 に答える
0

必要なのは展開戦略です。Composer調査の良い出発点となるはずです。これは PHP で書かれたソフトウェアであり、外部依存関係を解決することを目的としていますが、実行時ではなく、インストール時に解決します。私があなたに与えたリンクから始めてください。

composer のほかに、PHP 用のデプロイメント戦略とソフトウェアが他にあります。

于 2013-05-08T22:04:27.943 に答える