如何解决从Internet访问MySQL
我正在使用Ngrok将开发网站本地链接到Internet,但不适用于MySQL服务器。 这是config.inc.php中的代码:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = '8889'; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
这是我的Ngrok配置的代码:
authtoken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tunnels:
server:
proto: http
addr: 8888
Db1:
proto: tcp
addr: 8889
我可以访问Apache服务器,但不能访问MySQL数据库(它可以在本地运行,因此显然是转发问题,但我无法解决)。
编辑:
这是我的Ngrok正在运行:
Forwarding tcp://0.tcp.ngrok.io:16097 -> localhost:8889
Forwarding http://b342784fc9ec.ngrok.io -> http://localhost:8888
Forwarding https://b342784fc9ec.ngrok.io -> http://localhost:8888
我的pdo用于本地配置:
<?php
$user = 'root';
$pass = 'root';
$dbname = 'dbtest';
$host = 'localhost';
$port = '8889';
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $dbname . ';port' . $port . ';charset=utf8',$user,$pass);
?>
我的pdo用于在线配置:
<?php
$user = 'root';
$pass = 'root';
$dbname = 'dbtest';
$host = 'tcp://0.tcp.ngrok.io';
$port = '16097';
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $dbname . ';port' . $port . ';charset=utf8',$pass);
?>
因此,基本上,本地计算机正在运行,而不是在线计算机,但是也许我做错了事,因为网络不是专家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。