我意识到这将是一个非常模糊的职位。我们有一台运行Windows服务器的新服务器。事实证明它没有完全设置。
它缺少IIS Web服务器。
我已经设置了IIS,使用Web Platform Installer安装了PHP7,并通过psql PDO连接测试了该连接。我们有一个Android应用程序,它通过php与数据库通信,它使用PDO连接。当我们将应用程序指向旧服务器192.168.1.102时,该应用程序可以运行,但是将其定向到新服务器192.168.1.100时,则会出现错误
我已将这些扩展名添加到php.ini文件中:
extension=php_pgsql.dll
extension=php_pdo_pgsql.dll
这是几年前由其他人设置的数据库连接的内容:
<?php
class PgDB {
private $dbConnection;
function __construct() {
$this->dbConnection = new PDO('pgsql:dbname=' . PG_DB .';host=' . PG_HOST . ';user=' . PG_USERNAME . ';password=' . PG_PASSWORD);
$this->dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$this->dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
function getDB() {
return $this->dbConnection;
}
}
这是连接参数(敏感信息被<>
替换,请注意两个文件都由于某种原因而缺少?>
结尾,我认为不宜将其排除在外?
<?php
/**
* Created by PhpStorm.
* User: msenol
* Date: 02.04.2015
* Time: 11:57
*/
// PG info
define("PG_HOST", "192.168.1.100");
define("PG_PORT", "5432");
define("PG_DB", "<database name>");
define("PG_USERNAME", "<usrname>");
define("PG_PASSWORD", "<pw>");
// SQL Fields
define("TYPE", "reading_location");
define("HUE", "hue");
define("LIGHTNESS_VALUE", "lightness_value");
define("CHROMA", "chroma");
define("DESCRIPTION", "description");
// Image Upload Path
define("BASE_IMAGE_PATH", "e:/gygaia/images/");
define("TEST_MODE", false);
我使用标准脚本进行连接并成功。
<?php
$dsn = "pgsql:host=$host;port=$port;dbname=$db;user=$user;password=$pw";
try{
// create a PostgreSQL database connection
$conn = new PDO($dsn);
// display a message if connected to the PostgreSQL successfully
if($conn){
echo "Connected to the <strong>$db</strong> database successfully!";
}
}catch (PDOException $e){
// report error message
echo $e->getMessage();
}
$conn = null;
?>
我们都茫然不知所措,因为我们要进行实地考察,所以我们需要启动并运行系统。