相关疑难解决方法(0)

我怎样才能放松PHP的open_basedir限制?

open_basedir限制了PHP在目录树中可以打开的文件.

我在我的Web根目录之外存储了几个类库和配置文件.这样,Web服务器不会使它们可公开访问.但是,当我尝试从我的应用程序中包含它们时,我得到一个open_basedir限制错误,如下所示:

警告:realpath()[function.realpath]:open_basedir限制生效.文件(/var/www/vhosts/domain.tld/zend/application)不在/ var/www /中的允许路径中:(/ var/www/vhosts/domain.tld/httpdocs:/ tmp)第5行的vhosts/domain.tld/httpdocs/index.php

我的网站根目录在这里:

/var/www/vhosts/domain.tld/httpdocs
Run Code Online (Sandbox Code Playgroud)

我的库和配置目录在这里:

/var/www/vhosts/domain.tld/zend
Run Code Online (Sandbox Code Playgroud)

放宽open_basedir限制的最佳解决方法是什么,以便域文件夹下的目录树可用于我的应用程序?我有很多域名需要我这样做,而且我显然也很担心创建安全漏洞.

注意:我使用的是CentOS,Apache,Plesk,我对服务器有root ssh访问权限.虽然这不直接适用于Zend Framework,但我在这个实例中使用它.所以这里是来自Zend的bootstrap的包含:

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend/application/'));
set_include_path(APPLICATION_PATH . '/../zend/library' . PATH_SEPARATOR . get_include_path());
Run Code Online (Sandbox Code Playgroud)

php apache security

21
推荐指数
1
解决办法
9万
查看次数

php shell_exec()命令不起作用

我试图从PHP运行.sh文件.我尝试用shell_exec()来做.但它不起作用我在堆栈溢出中提到了许多与此相关的问题,但无法解决

我的PHP代码是(web.php)

    <?php
    echo shell_exec('/var/www/project/xxe.sh');
    echo "done";
    ?>
Run Code Online (Sandbox Code Playgroud)

只打印完成.但它是从终端工作(php /var/www/project/web.php)

在xxe.sh中我调用了一个python文件

    python vin.py
Run Code Online (Sandbox Code Playgroud)

我也将.sh n .py文件的文件权限更改为777,请帮忙

php shell python-2.7

17
推荐指数
4
解决办法
6万
查看次数

标签 统计

php ×2

apache ×1

python-2.7 ×1

security ×1

shell ×1