You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plesk服务器出现is_executable(): open_basedir限制问题求助

解决Plesk服务器中open_basedir限制导致的is_executable()错误

这个错误是典型的PHP open_basedir安全限制问题——你的网站脚本尝试访问/opt/plesk/php/7.2/bin/php这个文件,但该路径不在PHP允许的访问目录列表里。下面是几种可行的解决方法:

方法1:通过Plesk面板直接调整open_basedir设置

这是最直观的方式,适合不熟悉SSH操作的用户:

  • 登录你的Plesk控制面板,定位到目标域名rescuefirst.com的管理页面
  • 进入「网站与域名」>「PHP设置」(不同Plesk版本可能位置略有差异,比如有的叫「PHP配置」)
  • 在配置项中找到open_basedir,将原有的值修改为:
    /var/www/vhosts/rescuefirst.com/:/tmp/:/mnt/:/opt/plesk/php/7.2/bin/
    
    (核心是把/opt/plesk/php/7.2/bin/追加到允许路径末尾)
  • 保存设置,Plesk通常会自动重启对应版本的PHP服务,之后刷新网站测试即可。

方法2:通过SSH手动修改PHP配置文件

如果面板里找不到open_basedir的编辑入口,可以用SSH登录服务器操作:

  • 连接到服务器后,找到对应域名的PHP配置文件,通常路径是:
    /var/www/vhosts/system/rescuefirst.com/etc/php.ini
    
  • 用文本编辑器(比如nano)打开这个文件,找到open_basedir一行,修改为包含/opt/plesk/php/7.2/bin/的路径,比如:
    open_basedir = "/var/www/vhosts/rescuefirst.com/:/tmp/:/mnt/:/opt/plesk/php/7.2/bin/"
    
  • 保存文件后,重启对应版本的PHP-FPM服务,命令为:
    systemctl restart plesk-php72-fpm
    
    (如果你的PHP版本不是7.2,把命令中的72换成实际版本号即可)

方法3:优化脚本路径调用(推荐)

如果你的脚本是硬编码了PHP二进制文件路径,可以考虑用PHP内置常量PHP_BINARY替代,这个常量会自动指向当前运行环境的PHP二进制文件路径,通常默认就在open_basedir允许的范围内。比如把代码中类似:

is_executable('/opt/plesk/php/7.2/bin/php');

的部分替换为:

is_executable(PHP_BINARY);

这种方式不需要修改服务器配置,更适配不同的Plesk环境。

注意事项

  • 确认你使用的PHP版本是否为7.2,如果不是,要把路径中的7.2替换成实际版本(比如7.4就是/opt/plesk/php/7.4/bin/)
  • 修改配置后如果问题依旧,可以检查是否有其他层级的配置覆盖了当前设置(比如服务器全局PHP配置、.htaccess中的设置)

内容的提问来源于stack exchange,提问作者ashokreddy arikatla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:39:23