php - 如何同时连接到两个不同的主机
问题描述
我正在开发一个动态网站,我同时使用本地和远程主机。我试图实现一个代码,在该代码中我首先与本地主机建立连接。如果与 locahost 的连接是错误的或无法建立,我会转到第二个连接(远程服务器或主机)。但这一次,我想做一些不同的事情。现在我想知道是否可以同时连接到两个主机/服务器而没有错误。数据库和表是一样的。我问这个,因为我只想避免 sql 备份。你说什么?此外,我想使用相同的变量 $pdo,因此我不需要更改或重复与表的所有连接。
这是我当前的代码:
<?php
try {
//Local Host - XAMPP
$dsn = 'mysql:host=localhost;dbname=bananas';
$user = 'root';
$pw = '';
$sessionpath = 'C:/xampp/tmp';
$pdo = new PDO($dsn, $user, $pw);
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) { //$e
//echo 'Error: '.$e->getMessage();
if(!isset($pdo) || $pdo == false){
try{
//Remote Host
$dsn = 'mysql:host=bananas123;dbname=bananas';
$user = 'mybigbanana';
$pw = '6969';
$sessionpath = '/php_sessions';
$pdo = new PDO($dsn, $user, $pw);
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e) {
echo 'Error: '.$e->getMessage();
}
}
}
?>
注意:我不想为每个连接设置两个变量,例如$pdo
和$pdo2
. 我只想要两个连接的一个变量,即$pdo
.
解决方案
推荐阅读
- heroku - 如何更改heroku上的域并指向namecheap
- networking - 如何在 Cisco PIX 506E 防火墙上打开端口
- sql - 当值在另一个表的列中时计数
- python-3.x - 如何使用 boto3 更改 s3 存储桶中对象的存储类别?
- discord.py - discord.py 我可以只使用用户名来获取用户 ID 吗?
- java - 从 java 调用 python 代码:askopenfilename 不起作用
- ffmpeg - FFmpeg/FFprobe - 检测空白/空/白色图像
- api - 获取发送到电子邮件或短信的公共 API 的响应
- c++ - 在 C/C++ 中从模数和指数生成 RSA 公钥
- javascript - 对象上 lodash 变换的替代管