Php 如何禁用HTTPS上的openbase_dir限制?

Php 如何禁用HTTPS上的openbase_dir限制?,php,unix,Php,Unix,我正在尝试通过HTTPS连接使php文件能够访问位于根web目录外的文件夹中的另一个文件。这在HTTP上可以正常工作,但由于某些原因,HTTPS连接无法读取文件 我通过在vhost.conf文件中禁用openbase_dir,通过HTTP启用了此功能,如下所示: php_admin_value open_basedir”/var/www/vhosts/my domain.com/httpdocs:/usr/share/pear:/tmp:/var/www/vhosts/my domain.co

我正在尝试通过HTTPS连接使php文件能够访问位于根web目录外的文件夹中的另一个文件。这在HTTP上可以正常工作,但由于某些原因,HTTPS连接无法读取文件

我通过在vhost.conf文件中禁用openbase_dir,通过HTTP启用了此功能,如下所示:

php_admin_value open_basedir”/var/www/vhosts/my domain.com/httpdocs:/usr/share/pear:/tmp:/var/www/vhosts/my domain.com/my_folder/“ php\u admin\u值open\u basedir无

然后,我尝试将vhost.conf的内容追加并替换为以下内容:

php_admin_value open_basedir”/var/www/vhosts/my domain.com/httpsdocs:/usr/share/pear:/tmp:/var/www/vhosts/my domain.com/my_folder/“ php\u admin\u值open\u basedir无


但是,在重新配置服务器以使用新的vhost.conf文件并重新启动apache之后,试图让web目录中的测试php文件通过HTTPS连接读取驻留在my_文件夹中的文件的尝试继续失败

看起来您可能正在使用Plesk,但这只是一个猜测。如果是这样,那么您还需要创建一个具有相同设置的vhost_ssl.conf文件(并使用websrvmng重新生成httpd.include文件)


如果您没有使用Plesk,问题可能是相同的,因为您可能为http和https配置了单独的虚拟主机,并且您还需要修改https主机以删除限制。

看起来您可能正在使用Plesk,但这只是一个猜测。如果是这样,那么您还需要创建一个具有相同设置的vhost_ssl.conf文件(并使用websrvmng重新生成httpd.include文件)


如果您没有使用Plesk,问题可能是相同的,因为您可能为http和https配置了单独的虚拟主机,并且您还需要修改https主机以删除限制。

新创建的httpsdocs文件夹上的权限设置是否正确?是,httpdocs和httpsdocs上的权限和所有权都相同。新创建的httpsdocs文件夹上的权限设置是否正确?是的,httpdocs和httpsdocs上的权限和所有权都相同。我也怀疑这一点。有没有一种方法可以设置站点的SSL版本,而不提供自己的虚拟主机?(我想你可以在每个配置中包含一个通用的配置,但这基本上仍然作为两个独立的站点配置运行…)我不这么认为,你必须在vhost中执行'SSLEngine on',我认为这会阻止普通http工作Tom,非常感谢你的回答,它工作得很好。我正在使用plesk,不知道需要这个文件。这也是我怀疑的。有没有一种方法可以设置站点的SSL版本,而不提供自己的虚拟主机?(我想你可以在每个配置中包含一个通用的配置,但这基本上仍然作为两个独立的站点配置运行…)我不这么认为,你必须在vhost中执行'SSLEngine on',我认为这会阻止普通http工作Tom,非常感谢你的回答,它工作得很好。我正在使用plesk,不知道需要这个文件。