and*_*ris 6 php mysql browser ssl amazon-web-services
我想在PHP中使用ssl连接到远程(AWS)mysql服务器.
当我通过命令行执行它时,我的脚本工作,但是当我从浏览器调用它时,它不会.
$con=mysqli_init();
mysqli_ssl_set($con,NULL,NULL,"path/to/cacert.pem",NULL,NULL);
$link = mysqli_real_connect($con, "host", "username", "password");
Run Code Online (Sandbox Code Playgroud)
我正在使用php7/Apache/CentOs.我试图改变所有权和权限的的CA文件,并且注意到它需要将在控制台上执行的读取权限.但是在浏览器中,即使我给予每个人完全许可(chmod 777),它仍然无效.
我得到的错误是: 警告:加载cafile流失败. 当我检查文件的存在时它返回true,但是当我检查is_readible时,那么也是错误.
有人可以帮忙吗?谢谢!
所以我认为可读性和权限可能有问题。我可以将问题范围缩小到证书文件存在但不可读。我通过 ftp 使用 filezilla 将其移至我的服务器。
我可以通过创建一个新的 .pem 文件并简单地将原始文件的内容复制到其中来解决我的问题。这个现在可读并且可以在浏览器中运行,但我不明白为什么,因为它们都具有相同的chmod xxx权限和chown所有权。
详细说明(对于使用AWS MYSQL有类似问题的用户):
在文本编辑器中打开rds-combined-ca-bundle.pem文件(下载链接: https: //s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem )。
复制内容。
在您的服务器上,php 脚本应该运行创建新文件并将文本粘贴到其中。(它可能需要一些额外的编辑,开始/结束标记在单独的行中,新行在与原始文本相同的位置结束)
归档时间: |
|
查看次数: |
1154 次 |
最近记录: |