【发布时间】:2017-12-27 06:53:14
【问题描述】:
我需要与我的 PHP-PDO Web 应用程序建立 SSL 连接。我有 MySQL Workbench 5.7,但我不知道如何以及从哪里开始。
我在网上看到不同的帖子解释如何使用mysqld 和shell> 来做到这一点,例如手册中的6.4.4 Configuring MySQL to Use Secure Connections 和5.3.4 SSL Wizard (Certificates)。
我将连接改为:
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(
PDO::MYSQL_ATTR_SSL_KEY =>'/etc/mysql/ssl/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysql/ssl/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA =>'/etc/mysql/ssl/ca-cert.pem'
));
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("SET CHARACTER SET utf8mb4");
然后我转到 MySQL 工作台并单击 数据库 → 连接到数据库 → SSL 选项卡 → SSL 向导。我检查了Use default Parameters,我得到了这个错误:
OpenSSL Win64 安装在C:\OpenSSL-Win64。
有什么问题,我该如何解决?
【问题讨论】:
-
C:\OpenSSL-Win64\bin需要在路径上。这使得C:\OpenSSL-Win64\bin\openssl.exe可用于使用命令名称 (openssl.exe) 而不是完整路径名 (C:\OpenSSL-Win64\bin\openssl.exe) 的程序。或者,您需要告诉工作台 OpenSSL 二进制文件的位置。 -
你能说得更具体点吗,或者至少给我一个类似帖子的原始链接
-
路径上应该有什么。在 mysql 工作台中定义路径的位置。我认为我的问题没有重复,因为我没有从上述链接中看到任何帮助资源。
-
试试'openssl' is not recognized as internal or external command。关于在 Windows 上将目录添加到
%PATH%的问题和答案遍布整个网络。您不需要 Stack Overflow 帖子。 -
我添加了系统变量的路径,但仍然是同样的错误。请重新打开帖子