“出于安全原因,proc_open() 已被禁用”- PHP 错误

2023-11-30

出于安全原因,proc_open() 已被禁用

我目前使用免费托管(Hostinger) - 制作一个仅供我和其他人使用的个人网站。

我知道我应该删除proc_open来自php.ini但由于我的共享托管计划,我无法访问它。

周围的代码proc_open我的代码如下 - 如果您需要完整的代码,请告诉我。我尝试过注释掉某些部分,但它返回错误。

我想要的只是删除它并允许代码正常运行。

<?php
// Initializing
if (!isset($ACCOUNTS)) $ACCOUNTS = array();
if (isset($USER) && isset($PASSWORD) && $USER && $PASSWORD) $ACCOUNTS[$USER] = $PASSWORD;
if (!isset($HOME_DIRECTORY)) $HOME_DIRECTORY = '';
$IS_CONFIGURED = count($ACCOUNTS) >= 1 ? true : false;

// Command execution
function execute_command($command) {
    $descriptors = array(
        0 => array('pipe', 'r'), // STDIN
        1 => array('pipe', 'w'), // STDOUT
        2 => array('pipe', 'w')  // STDERR
    );

    $process = proc_open($command . ' 2>&1', $descriptors, $pipes);
    if (!is_resource($process)) die("Can't execute command.");

    // Nothing to push to STDIN
    fclose($pipes[0]);

    $output = stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    $error = stream_get_contents($pipes[2]);
    fclose($pipes[2]);

    // All pipes must be closed before "proc_close"
    $code = proc_close($process);

    return $output;
}

您可以尝试覆盖默认的 php.ini。过去,我曾经在另一个共享主机上成功过,请按照此步骤操作

  1. 您可以在 Web 文件夹中创建自己的 php.ini。不需要在 php.ini 中拥有所有值,只需要覆盖一些内容即可。例如你的 php.ini 可能只有这样一行

    disable_functions = exec,execl,system,passthru,shell_exec,set_time_limit,escapeshellarg,escapeshellcmd,proc_close,ini_alter,proc_open,dl,popen,show_source,posix_getpwuid,getpwuid,posix_geteuid,posix_getegid,posix_getgrgid,open_basedir,safe_mode_include_dir,pcntl_exec,pcntl_fork,putenv,proc_get_status,proc_nice,proc_terminate,pclose,virtual,openlog,popen,pclose,virtual,openlog,escapeshellcmd,escapeshellarg,dl,show_source,symlink,eval,mail
    

请记住从禁用函数中删除 proc_open

  1. 创建 .htaccess 并添加它

    <IfModule mod_suphp.c>
    suPHP_ConfigPath /home/user/public_html
    </IfModule>
    

请记住将 /home/user/public_html 更改为您的路径

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“出于安全原因,proc_open() 已被禁用”- PHP 错误 的相关文章

  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 通过 Ajax 加载内容时,WORDPRESS 音频播放器未加载,MediaElement.js 未应用

    我正在创建一个 WordPress 主题 当我使用 ajax 加载内容时 它不会将 MediaElements js 应用于我的音频播放器 因此不会显示音频 我认为这是因为 MediaElement js 加载了 wp footer 并且此
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • AppDelegate、rootViewController 和 PresentViewController

    我正在做 Facebook 集成教程 如果用户具有当前状态的有效令牌 我想显示我的 MainViewViewController 否则我想显示 LoginViewController MainView AppDelegate m BOOL
  • spring amqp中使用spring webclient的正确方法

    我有以下用于使用来自rabbitmq的消息的spring amqp应用程序的技术堆栈 Spring boot 2 2 6 RELEASE Reactor Netty 0 9 12 RELEASE Reactor Core 3 3 10 RE
  • 谷歌导航意图

    我正在尝试直接从我的应用程序启动 Google 导航 以便它可以将我从起始地址导航到目标地址 因此 我有起始地址和目的地地址的纬度和经度坐标 并希望获得这些坐标的导航 但我不知道如何提供起始地址 导航仅使用我的 GPS 来获取我当前的信息
  • Swift webview xcode 发布数据

    我有一个网络视图 当前编码如下 let url NSURL string http example com let request NSURLRequest URL url monitorView loadRequest request 这
  • 列出 AWS .NET SDK 中的实例

    我正在编写代码以使用适用于 AWS 的 net SDK 列出实例 ID 和实例类型 我知道我需要使用DescribeInstancesRequest 类 我还认为我需要使用 ArrayList 来存储字符串输出和 foreach 循环来获取
  • 在单个产品页面上显示类别和品牌名称

    在 Woocommerce 中 我正在使用YITH WooCommerce 品牌插件处理产品品牌 我目前正在努力解决 WooCommerce 中我的简短描述下想要的固定文本 我想动态显示产品名称在那段文字中 有效 也是产品类别名称 CATE
  • SVN中的结果代码是什么意思?

    SVN中的结果代码是什么意思 我需要一个快速参考 有关更多详细信息 请参阅 SVNBook 工作副本文件和目录的状态 常见状态 U 工作文件已更新 G 存储库上的更改会自动合并到工作副本中 M 工作副本已修改 C 该文件与repo中的版本冲
  • CMake - 使用错误数量的参数调用 add_executable

    我正在尝试组织一个 C 项目 该项目开始有很多文件 我想创建两个使用 Cmake 共享一些源文件的可执行文件 我在这里发现了一个有趣的过程 如何将源文件添加到另一个文件夹中 以下是我的版本 file GLOB Common sources
  • Google 地图 API 无法绘制不同大陆

    我已经使用谷歌地图 API 在谷歌地图上绘制了一个路径点 我参考了以下页面 https developers google com maps documentation javascript directions 在路线部分中使用航点 并对
  • 如何更改指向已删除的 android-ndk-r9 安装的内置 C/C++ 路径?

    我最近将 NDK 从 android ndk r9 升级到 android ndk r10 确切地说是 r10d Eclipse 是 4 4 Luna Luna 服务版本 1 4 4 1 构建 ID 20140925 1800 Eclips
  • XDocument 获取 XML 文件的一部分

    我有一个很大的 xml 文件 想要获取指定数量的
  • 数组初始化的差异

    在查看源文件时 我看到了两种数组初始化的方法 我想知道之间有什么区别 int value new int 0 and int value next new int 其实没有什么区别 它是Syntactic sugar在java数组声明中 第
  • PHP正则表达式最后一次出现的单词

    我的字符串是 var www domain com public html foo bar folder another 我想从此字符串中删除根文件夹 以仅获取公共文件夹 因为某些服务器内部有多个网站 我的实际正则表达式是 www publ
  • 将文本与 a 标签的底部对齐

    如何将文本置于 li 内的 a 标签的底部 这是我的代码 div ul li a href ter a li li a href redg a li li a href ryer More a li li a href More a li
  • VSCode 中多命令的快捷方式

    我有一个现有的快捷方式可以最大化终端窗口 key ctrl command workbench action toggleMaximizedPanel 我想在快捷方式中添加一个附加命令 以便在终端窗口最大化时将焦点转移到终端窗口 在最小化时
  • 测试两个函数变量是否指向同一个函数?

    如何测试两个函数变量是否指向同一个函数 test lm test2 lm test lm error comparison 1 is possible only for atomic and list types test test2 er
  • MVC 剃刀@foreach

    我听说在视图中使用 foreach 是禁忌 意思是 视图中不应该有任何逻辑 foreach 的逻辑应该位于何处的最佳实践是什么 foreach foreach 的逻辑应该位于何处的最佳实践是什么 无处可去 只能摆脱它 您可以使用编辑器或显示
  • BlackBerry - 如何在 Android 中传递 Intent.putExtra() 等数据

    我是黑莓手机的新手 我如何实现 在黑莓手机中 与 Android 相同的功能 intent putExtra key value 将可以接收到的值放在下一个推屏在黑莓手机中 就像在 Android 中一样ActivityOne Intent
  • 有没有办法访问iphone/ipad(真机,无模拟器)中的文档文件夹?

    有没有办法访问真实设备 iphone ipad 文档文件夹 我意识到一个应用程序在该文件夹中存储了一些数据 我想检查一切是否都以正确的方式进行 即使文件位于沙盒中文档之外的其他位置 您也可以在没有 iTunes 的情况下执行此操作 转到 X
  • “出于安全原因,proc_open() 已被禁用”- PHP 错误

    出于安全原因 proc open 已被禁用 我目前使用免费托管 Hostinger 制作一个仅供我和其他人使用的个人网站 我知道我应该删除proc open来自php ini但由于我的共享托管计划 我无法访问它 周围的代码proc open