草庐IT

EXEC_BAD_ACCESS

全部标签

php - 如何中断exec并杀死子进程

我正在尝试使用exec()在PHPCLI脚本中调用长时间运行的shell命令。但我终其一生都无法弄清楚如何中断PHP脚本并终止生成的子进程。似乎只要我调用exec(),我的信号处理程序就会被忽略。以下代码按我的预期工作;如果我向进程发送SIGTERM,它会回显SIGTERM并立即退出。但是,如果我将sleep(60);替换为exec('sleep60');,在sleep结束之前我不会到达我的信号处理程序。我有两个问题:如何获取信号以使用exec(或shell_exec或proc_open)?捕获信号后,如何终止exec产生的任何子进程? 最佳答案

curl - 在 php.ini 上启用 curl_exec

我想运行带有curl的php脚本。但以下功能被php.ini禁用:exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,show_source我在php.ini中更改了以下行:disable_functions=exec,passthru,shell_exec,system,proc_open,popen,show_source并在ssh上运行servicehttpdrestart命令,但是当我运行phpinfo()函数时,它将再次显示curl_exec和curl_multi_exec被禁用。

类似exec()的PHP回调函数,每行实时输出

我正在寻找一个php函数或解决方法,它允许您为执行输出的每一行创建一个回调函数。我能找到的最好的是proc_open(),但它只允许我在调用fgets()时按指定字节输出,以获取输出。如果我在fgets()中放置的字节太小,它会将一行分成多行;太大会延迟回调。PHP中是否有一个函数允许我在每个输出行调用我的回调函数,类似于proc_open?Exec()函数是一个很好的例子,因为它可以将每一行放入一个数组中,但它无法在创建每个索引时提供回调。 最佳答案 您可以通过使用回调调用从exec返回的每一行来创建自己的代码。见下文functi

php - curl_exec() 将目标内容输出到页面?

我正在使用以下代码:$ch=curl_init('www.google.com');$output=curl_exec($ch);curl_close($ch);这不是我第一次使用cURL,除非我弄错了,否则上面的代码应该检索google.com的内容并将其存储在$output中。正确吗?那么,为什么上面的代码会将内容(在本例中为Google主页)输出到页面中呢?我没有回显任何内容,但出于某种原因,curl_exec()函数正在输出它返回给页面的内容。我错过了什么吗? 最佳答案 你需要使用curl_setopt($ch,CURLOP

php shell_exec 添加不需要的换行符

为什么php的shell_exec命令会在输出中添加不需要的换行符(\r\n),我该如何防止这种情况发生?测试.php:运行phptest.php结果:string(5)"test" 最佳答案 echo命令添加换行符,以便您的示例按预期工作。如果你想删除它,只需使用trim:var_dump(trim(shell_exec('echo"test"')));这将输出:string(5)"test" 关于phpshell_exec添加不需要的换行符,我们在StackOverflow上找到一个

php - 使用 salt login 的 Symfony 2 总是返回 Bad credentials

如果我使用salt来解码我的密码,登录总是返回“Badcredentials”。我正在使用Fixture创建一些测试数据:publicfunctionload(ObjectManager$manager){$encodeFactory=$this->container->get('security.encoder_factory');$user=newUser();$user->setUsername('admin');$user->setEmail('webmaster@aranox.de');$encoder=$encodeFactory->getEncoder($user);$u

php - 使用 PHP 的 exec() 给出错误 : Fatal: [Errno 2] No such file or directory; did you install

我正在尝试使用PHPexec()二进制casperjs,exec('casperjs/var/www/mysite/application/phantomjs/test.js');但是我得到了错误Fatal:[Errno2]Nosuchfileordirectory;didyouinstallphantomjs?CasperJS运行在PhantomJS之上,我在/usr/local/bin/phantomjs和/usr/local/bin/casperjs手动安装并创建了一个链接>。所以我猜casperjs在运行时会调用phantomjs。但是当我ssh进入服务器并运行时它工作正常ca

php - 在 prestashop 的 Hook.php 中具有函数 exec() 的目的是什么

在Header.tpl文件中有一个钩子(Hook){$HOOK_TOP},它包含所有标题部分,包括菜单、搜索等...您可以在这个网址在FrontController中显示...'HOOK_TOP'=>Hook::exec('displayTop'),这意味着在Hook页面中有一个名为exec()的函数。但是我无法正确理解exec()调用中的代码。它告诉它为指定的钩子(Hook)执行模块。当我搜索“displayTop”时,我得到一个名为blocktopmenu.php的模块名称。执行仅通过2个函数:publicfunctionhookDisplayTop($param){$this->

php - 如何在php中使用exec命令编译运行c程序?

当我运行时它工作正常,即使对于其他单字命令也是如此但对于exec('gcc-oahello.c');它不会创建目标文件a。或者当我使用预先创建的目标文件尝试exec('./a');时,它没有进行任何更改。没有错误没有通知!任何帮助都是可观的! 最佳答案 基本引用:exec()manualpageBashredirections(适用于大多数其他外壳)有了这些元素,获取错误信息就很简单了:&1',$output,$return_value);echo($return_value==0?'OK':'Error:statuscode'.$

javascript - CORS、IIS7 和 PHP - Access-Control-Allow-Origin 错误

我正在尝试允许另一台主机(本地主机,如javascript.dev)为该主机创建一个xhr,它是一个IIS7,如果我curl-I它,这是header:HTTP/1.1200OKContent-Length:0Content-Type:text/html;charset=UTF-8Server:Microsoft-IIS/7.0X-Powered-By:PHP/5.3.28Access-Control-Allow-Origin:*Access-Control-Allow-Methods:GET,PUT,POST,DELETE,OPTIONSAccess-Control-Max-Age:1