Php 如何在ISPConfig 3中提取位于不同用户目录下的Zip存档
我面临提取位于不同用户Php 如何在ISPConfig 3中提取位于不同用户目录下的Zip存档,php,ispconfig,Php,Ispconfig,我面临提取位于不同用户web/目录下的.zip存档文件的问题。让我解释一下:我有两个网站都是用纯php编写的第一个我用来管理第二个的网站。Second网站上的每个客户端都有自己的文件夹,位于root中,代码相似,但配置不同。看起来是这样的: 第二个网站 ... /var/www/clients/client0/web2/web/client1/... /var/www/clients/client0/web2/web/client2/... ... 正如您所理解的,此文件的所有者是用户:web
web/
目录下的.zip
存档文件的问题。让我解释一下:我有两个网站都是用纯php编写的<代码>第一个我用来管理第二个
的网站。Second
网站上的每个客户端都有自己的文件夹,位于root
中,代码相似,但配置不同。看起来是这样的:
第二个网站
...
/var/www/clients/client0/web2/web/client1/...
/var/www/clients/client0/web2/web/client2/...
...
正如您所理解的,此文件的所有者是用户:web2
和组:client0
和第一个网站位置:
...
/var/www/clients/client0/web1/web/...
...
此文件的所有者是用户:web1
和组:client0
我试图做的是在创建新客户端时,在第一个网站的后端工作时,在第二个webroot目录中提取zip
存档
以下是我尝试过的代码(当用户:www-data
和组:www-data
时,这在我的本地主机上非常有效):
运行此代码时,我收到一条消息:
无法打开压缩文件:
/var/www/clients/client0/web2/web/backup/client_install.zip
我知道这可能与用户权限有关。考虑到保持相同的ISPConfig环境和用户权限,如何解决此问题
更新:
...
/var/www/clients/client0/web1/web/...
...
以下是错误日志消息:
PHP警告:ZipArchive::open():open_basedir限制生效。
文件(/var/www/clients/client0/web2/web/client1/backup/client_install.zip)
不在允许的路径内:(/var/www/clients/client0/web1/web:/var/www/clients/client0/web1/private:/var/www/client0/web1/tmp:/var/www/test.site.com/web:/srv/www/test.site.com/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin)
在第261行的/var/www/clients/client0/web1/web/process.php中
我的问题可能听起来很愚蠢,所以我先道歉。但是,
open\u basedir
选项在特定网站中的条目更改是否会影响整个服务器的性能,或者Apache无法重新启动。我的问题是因为我的测试网站位于带有生产站点的服务器上。我不想在没有初步咨询的情况下做出这些改变。因此,我想我需要为open\u basedir
site参数添加一个新路径。了解此选项具体工作原理的人,请回复此帖子。提前谢谢。这是您写的信息。它说明$res
不是真的
。然后是什么?$res
返回bool(false)
,没有任何其他信息。甚至没有错误代码。真奇怪。您有权访问完整的错误报告消息吗?有时,当随机文件系统功能失败时,您会收到一个带有一些信息的警告。我现在将检查服务器apache日志,但我也会检查(!file_)是否存在(…这意味着php worker有权正确访问此目录?或者文件\u exist
即使没有检查权限也返回false?Apache错误日志是清晰的。这是您编写的消息。它说明$res
不是真的那么是什么?$res
返回布尔(false)
,没有任何其他信息。甚至没有错误代码。这很奇怪。您可以访问完整的错误报告消息吗?有时,当随机文件系统功能失败时,您会收到带有一些信息的警告。我将立即检查服务器apache日志,但我也会检查(!file_)是否存在(…
这意味着php worker可以正确访问此目录?或者文件\u exist
返回false,即使它没有检查权限?Apache错误日志已清除。