gpt4 book ai didi

php - PDO 没有这样的文件或目录 - 仅 ftp 服务器访问

转载 作者:行者123 更新时间:2023-11-29 23:31:31 26 4
gpt4 key购买 nike

我正在将 php 管理迁移到新服务器(托管),但在尝试迁移的系统时,我发现我们的代码无法访问 MySql 数据库。该代码之前可以运行,新的虚拟主机表示它支持 PDO。除了通过 ftp 和 phpmyadmin 之外,我们无法访问实际服务器,从而阻止我们访问 php.ini。我们希望能够继续使用 PDO。

  1. 有什么想法可以解决这个问题,如果没有的话

  2. 我们怎样才能让这个文件以相同/相似的方式工作,但没有 PDO?

Class Database{

protected $_link;

public function __construct(){
$config['db'] = array(
'hostname' => 'localhost', //The provided XXX.loopia.se and 127.0.0.1 has also been attemped here with no result
'dbname' => 'database_name',
'username' => 'user_name',
'password' => 'password'
);
$db = new PDO('mysql:hostname=' . $config['db']['hostname'] .';dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']);
$this->_link = $db;
}
}

日志输出:

PHP Warning: PDO::__construct() [pdo.--construct]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock)

链接到loopia的“PHP to SQL”-使用此代码:https://support.loopia.se/files/php_till_mysql.zip

最佳答案

经过网络主机的快速反馈,上述似乎并不是在 Loopia 实现此目的的首选方法。为了供其他 Google 用户进一步引用,这是收到的代码(并经过编辑以符合上述目的):

<?php
Class Database{
protected $_link;
public function __construct(){

$hostname = "xXXX.loopia.se"; //Log on to phpmyadmin and see what it says in the top after "server"
$username = "username";
$password = "password";

try {
$db = new PDO("mysql:host=$hostname;dbname=<DBNAME>",
$username,
$password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$this->_link = $db;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}

}?>

关于php - PDO 没有这样的文件或目录 - 仅 ftp 服务器访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26548656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com