PHP - Openssl 启用 --with-openssl[=DIR]

PHP - Openssl enable --with-openssl[=DIR]

提问人:Damir Bai 提问时间:7/31/2020 最后编辑:Damir Bai 更新时间:8/5/2020 访问量:972

问:

我有Windows 10 / x64,Apache24,MySQL 8.0,PHP 7.2.10

我正在尝试连接数据库:

$conn = mysqli_connect('localhost', 'user', 'test123', 'ninja_project');
if (!$conn) {echo "Connection error:" . mysqli_connect_error();}

但是不断收到以下警告:

Warning: mysqli_connect(): PHP was built without openssl extension, can't send password encrypted in C:\Users\User\www\phptutorial\ninjapizza\index.php on line 3

Warning: mysqli_connect(): (HY000/1045): Access denied for user 'user'@'localhost' (using password: YES) in C:\Users\User\www\phptutorial\ninjapizza\index.php on line 3 Connection error:Access denied for user 'user'@'localhost' (using password: YES)

我已经做了一些事情来解决这个问题:

  1. 通过stackoverflow上已经讨论过的相同主题检查了解决方案,但发现对我没有任何帮助。
  2. 在 php.ini extension=openssl.dll 中启用了 openssl
  3. 指定目录 extension_dir = “c:\php\ext”
  4. 通过 CMD '''php -i''' - openssl support => enabled 检查 openssl 状态
  5. 通过 CMD '''php -m''' 检查 openssl modul - 列表中有 openssl
  6. 已检查 localhost/index.php - openssl 已启用
  7. 已检查我的电脑上的文件php-cli.ini - 没有
  8. 我试图将 $conn = mysqli_connect('localhost' 重命名为 $conn = mysqli_connect('127.0.0.1'。不起作用。同样的问题。
  9. 向用户授予所有权限。

我有 我已经在 Windows 上安装了 OpenSSL,并且在目录中有 openssl.cnfopenssl.cnf in directory C:\php\extras\sslopenssl.cnf in directory C:\Apache24\confC:\Program Files\OpenSSL-Win64\bin

我以不同的方式OPENSSL_CONF目录

set OPENSSL_CONF=c:\php\extras\ssl\openssl.cnf
set OPENSSL_CONF=c:\Apache24\conf\openssl.cnf
set OPENSSL_CONF=c:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf

根据此页面 https://www.php.net/manual/en/openssl.installation.php 我必须编译PHP,但是我不知道如何正确地做到这一点。我只在学习PHP和MySQL的水平上。--with-openssl[=DIR].

我多次重新启动Apache。不知道我还能做些什么!

PHP的 阿帕奇 mysqli phpmyadmin openssl

评论


答: 暂无答案