草庐IT

shell-extensions

全部标签

php shell_exec 权限被拒绝

shell_exec("touch/Users/Nerses/Downloads/ads.txt2>&1")我对PHPexec(shel_exec)函数有疑问。它说我没有执行命令的权限。如何打开这些权限? 最佳答案 您的PHP代码正在尝试访问/Users/Nerses/Downloads/ads.txt,如您所见,该文件夹归名为“Nerses”的用户所有。他是唯一可以访问它的人(也是root)(除非您更改该文件夹的权限)。通常,执行shell_exec的用户称为www-data,因此请授予该用户权限,或更改该文件夹中的权限。其他选项

php - Twig (在 Symfony 中): access template parameters from twig extensions

我想从我的Twig扩展(过滤器、函数...)访问Twig模板参数而不显式传递它。我的所有twig扩展中始终需要一个“displayPreferences”变量,以便更改显示和转换值的方式。可以将此变量作为模板参数传递,并将其作为我运行的每个Twig过滤器/函数的参数传递,但这会使模板难以阅读。这样的东西会很棒:/***Twigfilter(renderadateusingtheuserdefinedformat)**@paramDate$date*/publicfunctionrenderUserDate($date){//Somehow,getatemplateparameter,w

php exec 和 shell_exec 不工作

我想在我的服务器上运行一个exe文件并将输出返回到浏览器屏幕。exe文件接受一个输入文件,然后在屏幕上返回数据。为什么这段代码不起作用?$output=shell_exec('myprogram".var_export($output,TRUE)."\\n";它在浏览器屏幕上显示“NULL”。我也试过exec()。它在那里返回“Array()”。 最佳答案 Oneofthecomments在shell_exec手册页上说:Bewareofthefollowinginconsistency:shell_exec()andtheback

php - Composer.phar 不想通过 PHP 脚本中的 shell_exec 运行。为什么?

尝试使用所有可能的参数执行它,例如-d和完整路径等。没有错误。运行其他命令时,一切正常,从CMD运行composer时,一切正常。尝试过exec、system、shell_exec等。它可能是什么?echosystem('phpcomposer.pharinstall'); 最佳答案 也尝试输出错误流:system('phpcomposer.pharinstall2>&1');它可能会给您更多关于问题所在的提示。 关于php-Composer.phar不想通过PHP脚本中的shell_e

php - 如何通过 shell 检查 PHP 脚本是否正在运行

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Inphp,howtodetecttheexecutionisfromCLImodeorthroughbrowser?如何检查PHP脚本是由Shell(命令行)还是服务器运行的?

nginx - php-fpm 不工作 exec、系统、shell_exec,只有 CLI

php-fpm,nginx使用时执行.phpfiles()shell_exec()system()在命令行中运行良好。运作良好的例子:#phpmyphp.phpmyphp.php包含:但是如果我在我的浏览器上输入http://localhost/myphp.php,它就不再工作了。有什么想法吗?我编辑我创建了一个包含以下内容的文件:#catinfo.php在我的浏览器中,打印execisenabled,yphpinfo..我创建了一个包含以下内容的文件:#catinfo.php在我的浏览器中,打印Doittheregularway难道我不想知道自己是否在jail里吗?在我的phpini

php - 使用 shell 脚本通过 php 运行 mkdir 不工作

我创建了一个文件test.sh,如下所示:#!/bin/shmkdir/testDir如果我在命令行上运行脚本,如:sudo/path/to/test.sh它会成功创建目录。我在visudo中添加了这样的sudo权限:www-dataALL=NOPASSWD:/path/to/test.sh我在我的.php文件中运行这样的脚本:shell_exec('sh/path/to/test.sh');但是没有创建目录!我做错了什么?!sudo权限的用户是否正确?当我在php文件上运行shell_exec('whoami')时,我得到:www-data从php到脚本的正确路径?我已经通过添加像这

php - Composer Install (own Container) with Docker missing PHP Extensions

我目前正在学习Docker,并使用了2周。现在我有一个非常简单的任务,通过Composer安装PHP库。这通常是在没有Docker的情况下工作:composerinstall现在因为我在使用Docker,我发现有一个Docker容器,它为我保存了composer:dockerrun--rm-v$(pwd):/appcomposer/composerinstall这工作得很好,但是有一些库需要安装特定的php库,比如bcmath,所以我将它添加到我的DockerfileFROMphp:7.0-apacheRUNdocker-php-ext-installbcmath当我重建容器时,此代码

php - ncurses_def_shell_mode() 和 ncurses_def_prog_mode() 究竟做了什么?

使用phpncurses,我很想知道ncurses_def_shell_mode()和ncurses_def_prog_mode()函数具体做了什么。它们没有记录在PHP手册中,我在manncurses中偶然发现的一点也没有帮助。如果我调用ncurses_def_shell_mode(),然后在调用ncurses_end()之前用ncurses_reset_shell_mode()重置,根据扩展的源代码应该在ncurses中调用endwin,终端光标仍然以某种方式丢失。我尝试使用和不使用ncurses_def_shell_mode()和ncurses_def_prog_mode(),但

php - 静态编译 php pecl 扩展(在二进制文件中与 extension=ext.so)会提高性能吗?

在php二进制文件中编译pecl扩展是否会提高性能?我希望我的术语是正确的,但是:http://php.net/manual/en/install.pecl.static.php就是这个意思我们有一小部分扩展,几乎在每个脚本执行中都会用到,我们认为将它们放在mod_php二进制文件中而不是通过extension=ext.so@php.d/php加载会更明智。ini.此外,我们确实使用自编译的php二进制文件,而不是基于包(rpm/dpg/等)的二进制文件。所以这样做是相当微不足道的。有人吗?谢谢! 最佳答案 没有。即使对于老式的CG