提问人:Damir Bai 提问时间:7/31/2020 最后编辑:Damir Bai 更新时间:8/5/2020 访问量:972
PHP - Openssl 启用 --with-openssl[=DIR]
PHP - Openssl enable --with-openssl[=DIR]
问:
我有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)
我已经做了一些事情来解决这个问题:
- 通过stackoverflow上已经讨论过的相同主题检查了解决方案,但发现对我没有任何帮助。
- 在 php.ini extension=openssl.dll 中启用了 openssl
- 指定目录 extension_dir = “c:\php\ext”
- 通过 CMD '''php -i''' - openssl support => enabled 检查 openssl 状态
- 通过 CMD '''php -m''' 检查 openssl modul - 列表中有 openssl
- 已检查 localhost/index.php - openssl 已启用
- 已检查我的电脑上的文件php-cli.ini - 没有
- 我试图将 $conn = mysqli_connect('localhost' 重命名为 $conn = mysqli_connect('127.0.0.1'。不起作用。同样的问题。
- 向用户授予所有权限。
我有 我已经在 Windows 上安装了 OpenSSL,并且在目录中有 openssl.cnfopenssl.cnf in directory C:\php\extras\ssl
openssl.cnf in directory C:\Apache24\conf
C:\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。不知道我还能做些什么!
答: 暂无答案
评论