Heim  >  Artikel  >  Backend-Entwicklung  >  php连接mysql识别不到端口号

php连接mysql识别不到端口号

WBOY
WBOYOriginal
2016-06-06 20:19:431553Durchsuche

目前的项目开发完了一部分,本地测试正常,但是放到服务器上就不行了。
本地环境:xampp-3.2.2(php-5.6.15, apache-2.4.17)
服务器环境:php-5.3.3nginx-1.0.15php-fpm


我尝试了3种连接mysql的方法,在本地无一失败,在服务器无一成功。。

PDO方法

代码:

<code class="php">$dsn = "mysql:dbname=$db;port=$this->dbPort;host=$this->dbHost;charset=$charset";
try {
    $this->conn = new PDO($dsn, $this->dbUser, $this->dbPasswd);
    return $this->conn;
} catch (PDOException $e) {
    $this->DealError($e);
    return false;
}</code>

因为服务器的php版本太旧,无法使用PDO访问自定义的端口,于是放弃。

mysql方法和mysqli方法

代码:

<code class="php">//mysql
$this->conn = mysql_connect($this->dbHost.":".$this->dbPort, $this->dbUser, $this->dbPasword);
//mysqli
$this->conn=@mysqli_connect($this->dbHost, $this->dbUser, $this->dbPasswd, $this->dbName. $this->dbPort);</code>

这个两个方法都会会提示如下错误:

<code class="php">Can't connect to MySQL server on 'cins.swpu.edu.cn' (13)</code>

很明显并没有去连接服务器的自定义端口,但调用时确实指定了自定义端口,不知道这是什么原因

回复内容:

目前的项目开发完了一部分,本地测试正常,但是放到服务器上就不行了。
本地环境:xampp-3.2.2(php-5.6.15, apache-2.4.17)
服务器环境:php-5.3.3nginx-1.0.15php-fpm


我尝试了3种连接mysql的方法,在本地无一失败,在服务器无一成功。。

PDO方法

代码:

<code class="php">$dsn = "mysql:dbname=$db;port=$this->dbPort;host=$this->dbHost;charset=$charset";
try {
    $this->conn = new PDO($dsn, $this->dbUser, $this->dbPasswd);
    return $this->conn;
} catch (PDOException $e) {
    $this->DealError($e);
    return false;
}</code>

因为服务器的php版本太旧,无法使用PDO访问自定义的端口,于是放弃。

mysql方法和mysqli方法

代码:

<code class="php">//mysql
$this->conn = mysql_connect($this->dbHost.":".$this->dbPort, $this->dbUser, $this->dbPasword);
//mysqli
$this->conn=@mysqli_connect($this->dbHost, $this->dbUser, $this->dbPasswd, $this->dbName. $this->dbPort);</code>

这个两个方法都会会提示如下错误:

<code class="php">Can't connect to MySQL server on 'cins.swpu.edu.cn' (13)</code>

很明显并没有去连接服务器的自定义端口,但调用时确实指定了自定义端口,不知道这是什么原因

服务器的mysql开启远程访问先。
建议还是先使用mysqlworkbench测试一下,确定ok,再上服务端程序。

1、确定是否权限是有的,根据网上查找的信息:mysql 13 的错误是提示有写权限的问题
2、mysql 是否自定义的端口上进行监听
3、mysql服务器是否配置了可以远程连接

根据题主描述,很像mysql没有开启外连,
telnet cins.swpu.edu.cn 端口号,试一下看看什么反馈。或者你直接在服务器上查看mysql user表你的用户信息。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php里面的>>是什么符号?Nächster Artikel:php RSS格式问题