主な解決策は 3 つあります。
1.リモートアクション
最も簡単な方法は、リモート サーバー上のフォームをポイントすることです。例えば :
<form method="post" action="http://myothersite.com/myphpscript.php">
</form>
そして、myphpscript.php
localhost で行うようにフォームを処理するだけです。
2. プロキシ アクション(allow_url_fopen ディレクティブを有効にする必要があります)
他のサーバーにデータを送信する同じサーバー上の php スクリプトでフォームを指定することもできます。このソリューションは、csrf トークンなどのセキュリティをバイパスするのに役立ちます。
<form method="post" action="proxy.php"></form>
proxy.php :
$postdata = http_build_query($_POST); //Need some filtering !!!
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://myotherserver.com/submit.php', false, $context);
ここでカールする必要はありません;)
3. リモート データベース
最後に、リモート アクセスでデータベースを使用し、次のようなリモート ホストでデータベースに接続するだけです。
$mysqli = new mysqli('mydbHost.com', 'my_user', 'my_password', 'my_db');
残念ながら、このソリューションは大きなセキュリティ リスクをもたらす可能性があるため、めったに許可されません (世界中の誰もがデータベースに接続しようとする可能性があります)。