Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP创建连接同一服务器上2个应用程序的API_Php_Mysql_Api - Fatal编程技术网

PHP创建连接同一服务器上2个应用程序的API

PHP创建连接同一服务器上2个应用程序的API,php,mysql,api,Php,Mysql,Api,想象两个应用程序在同一台服务器上运行不同的mysql数据库。 我需要一种在两个应用程序之间交换数据的方法。 一个应用程序无权访问另一个应用程序的数据库。 exchange只与后端相关(自动填充),不需要用户交互 使用php实现这一点的最佳和最安全的方法是什么?您可以使用一个API,其中一个应用程序可以在另一个应用程序之间发布和获取数据 // From application2.com $id = $curl->post('http://application1.com/users/sav

想象两个应用程序在同一台服务器上运行不同的mysql数据库。 我需要一种在两个应用程序之间交换数据的方法。 一个应用程序无权访问另一个应用程序的数据库。 exchange只与后端相关(自动填充),不需要用户交互

使用php实现这一点的最佳和最安全的方法是什么?

您可以使用一个API,其中一个应用程序可以在另一个应用程序之间发布和获取数据

// 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

您可以使用命名管道-它们非常适合进程间通信

您可以在交互式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”,因为管道已缓冲,换行符会发出信号将其刷新。

首先谢谢。我想知道当两个应用程序都在同一台服务器上时,是否有更好的方法(不使用apache)?允许数据库相互通信?如果两个应用程序都需要相互通信,我不会问这个问题。交换信息,但不多。一次最多100个字符(短字符串)如果没有其他方法,我可以,所以我将构建一个RESTAPI。显然没有,但我不确定。。。