0

同じサーバー上の異なる mysql データベースで実行されている 2 つのアプリケーションを想像してください。両方のアプリケーション間でデータを交換する方法が必要です。1 つのアプリケーションには、他のアプリケーションのデータベースにアクセスする権限がありません。交換はバックエンド関連 (自動のもの) のみであり、ユーザーの操作は必要ありません。

PHPを使用してこれを行うための最良かつ最も安全な方法は何ですか?

4

2 に答える 2

1

名前付きパイプを使用できます。名前付きパイプはプロセス間通信に適しています。

http://my.opera.com/zomg/blog/2007/08/29/php-and-named-pipes

インタラクティブな php で試すことができます:

Davids-MacBook-Air:~ dearlbry$ php -a
Interactive shell

php > posix_mkfifo("test-pipe", 0644);
php > $pipe = fopen('test-pipe','r+');
php > print fgets($pipe);

そこに座って待ってから、別のターミナルを開きます。

Davids-MacBook-Air:~ dearlbry$ php -a
Interactive shell

php > $pipe = fopen('test-pipe','r+');
php > fwrite($pipe, "Hello World\n");
php > fclose($pipe);

最初のプロセスで「Hello World」が表示されるのを見てください。パイプがバッファリングされ、改行信号がそれをフラッシュするため、必ず「\n」を入力してください。

于 2012-08-28T12:14:47.823 に答える
0

RESTful APIを使用して、一方のアプリケーションが他方のアプリケーションとの間でデータを POST および GET できるようにすることができます。

// From application2.com

$id = $curl->post('http://application1.com/users/save/', array(
    'name' => 'Matt',
    'bio' => 'I am a person.'
));

// $id is generated from a DB insert

$user = $curl->post('http://application1.com/users/bio/', array(
    'id' => $id
));

// $user contains an array or object of information about Matt
于 2012-08-28T11:21:19.877 に答える