我成功地在我的服务器上设置了一个 chroot。我想将 magento 项目放在 chroot 上,以便用户可以在需要时执行各种 magento2 命令。我将 magento 项目挂载到 chroot 目录。但是当我运行任何 magento2 命令说“php bin/magento cache:clean”时,我收到以下错误:
php:加载共享库时出错:libresolv.so.2:无法打开共享对象文件:没有这样的文件或目录
复制所有必需的库后,出现以下错误:
注意: date_default_timezone_set(): Timezone ID 'UTC' is invalid in /home/user/myapp/app/bootstrap.php on line 63
致命错误:未捕获的错误:在 /home/user/myapp/vendor/magento/framework/Config/Dom.php:384 中找不到类“DOMDocument”
堆栈跟踪:
0 /home/user/myapp/vendor/magento/framework/Config/Dom.php(115): Magento\Framework\Config\Dom->_initDom('1 /home/user/myapp/vendor/magento/framework/ObjectManager/Config/Reader/Dom.php(70): Magento\Framework\Config\Dom->__construct('
请帮我解决这个错误。在此先感谢
经过几天的挣扎,我终于找到了解决方案……我不得不结合 JailKit 和其他一些命令。这让一切都如我所愿。
要在 chroot 中运行任何命令,您应该在 chroot 中提供该程序(因为它不能使用安装在文件系统 / 中的程序。您可能需要 /dev、/bin、/etc、/usr、/lib 的部分内容(可能还有其他人)适当地安装在新的根目录下。总体而言,返回到“chroot()环境之外”的符号链接将不起作用。如果您不偏不倚地想要 ls 命令,那么您将安静地需要复制超过ls. 要运行 ls,您需要复制 ls 命令以及它所依赖的所有文件。