Symfony进程 - 执行命令
如何运行命令(app/console execute:my:命令) 在通过新过程的服务中? 我尝试这个: use Symfony\Component\Process\Process; use Symfony\Component\Process\Exception\ProcessFailedException; $process = new Process( 'app/console execute:my:command' ); $process->start(); 但是什么都没有发生... 如果我通过终端手动称其为手动: app/console execute:my:command 我在做什么错? 编辑 - 解决方案:我们需要编写整个路径.就我而言: ($this->kernelRootDir is : %kernel.root_dir%) $processString = sprintf( 'php %s/../app/con
2 2023-05-30
编程技术问答社区
Laravel 5-how to run a Controller method from an Artisan Command?
我需要控制器中的一些代码才能每十分钟运行一次.对于Scheduler和Commands,很容易.但.我已经创建了一个Command,并将其注册为Laravel Scheduler(in Kernel.php),现在我无法实例化Controller.我知道这是解决此问题的错误方法,但我只需要快速测试即可.请注意,有办法做到这一点吗?谢谢. 更新#1: Command:
0 2023-05-30
编程技术问答社区
在PHP中执行exec()或system()并不等待输出
我想从php脚本中触发shell命令在eider exec()或system()中,但这是一项需要一段时间才能完成的任务? 编辑:我在CentOS 6,PHP 5.3 上 解决方案 取决于您正在使用的操作系统. for Linux: pclose(popen("php somefile.php &","r")); 请注意最终的放纵(非常重要). Windows: pclose(popen("start php.exe somefile.php","r")); 这里start关键字很重要. 希望这会有所帮助. 其他解决方案 这不会直接回答您的问题,但是您应该考虑使用Cron工作或使用beanstalkd等队列进行视频转换工作. 这样,您可以在不阻止网络服务器的情况下堆叠FFMPEG工作. 过去,我在这两种方法上都取得了很大的成功. 其他一些有关背景过程的文章: php执行背景过程 ​​在后台运行FFMP
0 2023-05-30
编程技术问答社区
如何使用代码在laravel控制台命令中中止/退出/停止/终止
假设我正在编码一个命令.我如何在运行中间完全停止它? 示例: public function handle() { if (!$this->good_times) { $this->error('Bad times'); $this->exit(); } // continue command stuff } 我尝试过: throw new RuntimeException('Bad times'); 但这会在终端中丢掉一堆丑陋. 解决方案 只需使用 return 语句而不是抛出异常即可.喜欢... public function handle() { if (!$this->good_times) { $this->error('Bad times'); // $this->exit(); // throw new RuntimeEx
0 2023-05-30
编程技术问答社区
如何在Mac操作系统中安装phalcon.so?
我已经安装了phalcon扩展名. 显示以下错误. " iMac:Project atomix $ phalcon -sh:phalcon:找不到命令" 我遵循了Phalcon官方网站的指示.它可以在Windows和Linux上工作,但在Mac OS中不使用. 解决方案 在Scratch中安装Mac OS X中的Phalcon 请记住,Phalcon是一个PHP框架,可提高PHP的功能,这意味着Phalcon需要一个运行PHP的Apache Web服务器,还有几件事.同样,Phalcon提供了一个开发人员工具,可以帮助创建许多事情的速度. 要求: 使用终端命令行的知识 知识在 Mac 使用Apache配置的知识 网络中的知识 开发 我正在使用Mac OS X El Capitan版本10.11(15A284) 步骤1安装xcode 从 App Store 下载Xcode 安装Xcode 注意:您不需要该开发人员帐户
0 2023-05-30
编程技术问答社区
使用exec Laravel PHP运行.sh文件
我正在尝试运行一个.sh文件,该文件将导入excel文件到我的数据库.两个文件都在公共文件夹中的同一目录中.由于某种原因,Exec命令未执行或没有发生任何错误. .sh文件冷: IFS=, while read column1 do echo "SQL COMMAND GOES HERE" done
0 2023-05-28
编程技术问答社区
Symfony 2: 在ContainerAwareCommand中禁用Doctrine事件监听器
我正在使用在配置文件中注册的几个学说侦听器进行一些自动更新(create_on,updated_on timestamps等). 目前,我已经实施了其他功能,该功能需要将准备好的值存储在数据库中以易于搜索. 我正在考虑更新SYMFONY命令,该命令将准备这些值而不是SQL Update脚本(实际上,以将值的方式的任何更改或更新更改都比仅运行此单个命令所需的方式).但是,这也会触发前面提到的事件列表. 有办法如何禁用单个命令的特定eventlister? 解决方案 类似的事情应该做到的技巧: $searchedListener = null; $em = $this->getDoctrine()->getManager(); foreach ($em->getEventManager()->getListeners() as $event => $listeners) { foreach ($listeners as $key => $listener)
0 2023-05-28
编程技术问答社区
从php脚本中执行一个彩色的命令
我有一个命令,例如" git diff",当我从终端运行时输出有色结果. 现在,我想从CLI PHP脚本调用该命令,并在控制台中显示有色结果.我已经尝试使用exec(),system(),passhru(),但在所有情况下,输出已转换为纯黑白文本. 有没有办法保留标准结果的颜色?如果没有,有人知道为什么这些信息会丢失吗? 解决方案 在很可能您正在运行的命令中,正在检查以查看输出是否为终端而不是对其进行着色.通常有一种强迫它的方法,但这将针对命令本身.在git diff的情况下,您可以指定--color=always.
0 2023-05-28
编程技术问答社区
如何在windows下运行 "brew "命令...?
它显示" 'brew'在Windows命令提示符中未被认为是内部或外部命令". 我正在尝试安装 codeigniter-reactjs-example /strong>,其中第一个命令为brew. 如何运行此命令以在Windows中安装该项目.? 解决方案 编辑: Homebrew在Linux(WSL)的Windows子系统上也可以使用自版2.0.0 (2019年2月发布),如 @vonc@@vonc '安装/使用的说明可在以下位置提供: https://docs.brew.s.brew.sh/homebrew-homebrew-on-linux Homebrew是MacOS仅命令行安装程序应用程序,并且Windows不存在. Windows替代方案是: winget npackd scoop Windows 10 来源:其他解决方案 它在Windows命令提示符中显示"'brew'不被识别为内部或外部命令". 不再是19个月
2 2023-05-28
编程技术问答社区
在windows命令行中查找PHP版本
我只是试图从Windows命令键入中知道我的PHP版本, C:\> php -v 但这是行不通的.它说php is not recognized as internal or external command. 解决方案 在命令提示符下方类型下方 set PATH=%PATH%;C:\path\to\php 其中c:\ path \ to \ php是您php.exe文件所在的文件夹.此次运行 C:\>php -v 您会看到 之类的东西 PHP 7.3.6 (cli) (built: May 29 2019 12:11:00) 更新: 如果您发现重新启动计算机时,此解决方案将不再起作用: 设置路径如下: 步骤1 - 单击Windows图标 步骤2 - 单击Settings图标 步骤3 - 单击System 步骤4 - 单击About 步骤5 - 单击System info 步骤6 - 单击Advance
0 2023-05-27
编程技术问答社区
php或apache?exec、popen、system和proc_open命令不执行任何命令,甚至不执行ls。
我的问题是执行我的php主页中的任何命令 一半解决了,我让我的pythonscript运行了 但是我开始认为问题是Apache而不是PHP?我试图运行一个pythonscript,这实际上是我要运行的最终,然后似乎运行了,但是当脚本试图访问txt文件时,它会停止. [stdout] => [stderr] => Traceback (most recent call last): File "pythontest.py", line 4, in ? f = open("(path)/temp.txt", "w") IOError: [Errno 13] Permission denied: '(path)/temp.txt' 我尝试了所有可以找到Exec,System,popen,proc_open几乎没有运行的执行方法,我可以从System(" PWD")中获得一个字符串,但是System(" LS")返回数字127或126.我还尝试运行一个编译的C程序(下面的代
0 2023-05-27
编程技术问答社区
laravel不能运行预定命令,而queue:listen定期运行schedule()
注意:我的问题与 laravel中的命令时间表 .但是在我的问题中,调度有效,但不能称呼工匠命令. 我使用Laravel调度工匠司令部.我像这样的sudo -u www-data /var/www/market/artisan command:printer-serving 281H28直接从控制台运行命令. 我知道它有效,因为,我Log::info('Working')在命令的handle()输入中. 当我使用Laravel的日程安排时. cron效果很好,对于Log::info('command:printer-serving 281H28');以下,将内容连续输出到控制台. 但是工匠命令未执行,它对游戏机没有输出,也不将某些内容写入DB 在bernel.php 中
0 2023-05-27
编程技术问答社区
在一个mysql_query()查询中使用PHP的多个MYSQL命令
我想通过一个mysql_query函数发布多个mySQL命令. 这是我的代码: $query .= "INSERT INTO `users` VALUES(1,'stack','overflow');"; $query .= "INSERT INTO `posts` VALUES('other','stack','overflow');"; mysql_query($query); 如果我这样做,我会警告我的语法是不正确的. 如果我回荡输出,请复制并在phpmyadmin中执行它. 那里的错误在哪里? 解决方案 我认为您需要这个吗? http://us2.php.net/manual/manual/en/mysqli.multi.multi -query.php 其他解决方案 $query = "INSERT INTO `users` VALUES (1,'stack','overflow'), ('other','stack','overflow');"
0 2023-05-27
编程技术问答社区
如何在PHP执行中使用管道(" | ")?
我可以使用CMD同时执行两个命令: command1 | command2 在PHP中,我认为它应该起作用,但行不通: Shell_exec("command1 | command2 "); 我该如何修复? 解决方案 尝试添加括号: shell_exec("(command1 | command2)"); 有在PHP文档中的评论/o-redirection用popen. 其他解决方案 尝试 disabling 安全模式 . for 注意: 当PHP以安全模式运行时,此功能被禁用.. for 注意:启用安全模式时,您只能在safe_mode_exec_dir中执行文件.出于实际原因,目前不允许在可执行文件的路径中具有..组件. 警告: 使用安全模式启用,用escapeshellcmd()逃脱了命令字符串.因此,echo y | echo x变为echo y \| echo x. 其他解决方案 尝试禁用安全模式.
0 2023-05-27
编程技术问答社区
Symfony2-如何在自定义控制台命令中访问服务?
我是Symfony的新手.我创建了一个自定义命令,其目的是从系统中擦除演示数据,但我不知道该怎么做. 在控制器中我会做: $nodes = $this->getDoctrine() ->getRepository('MyFreelancerPortfolioBundle:TreeNode') ->findAll(); $em = $this->getDoctrine()->getManager(); foreach($nodes as $node) { $em->remove($node); } $em->flush(); 从我获得的命令中的execute()函数中执行此操作: Call to undefined method ..... ::getDoctrine(); 我将如何从execute()函数中执行此操作?另外,如果有一种更简单的方法来擦除数据以外的数据并将其删除,请随时提及. 解决方案 为了能够访问服务容器,您的命
2 2023-05-27
编程技术问答社区
触发node js文件
我有一个通过node.js运行的JS文件,因此通常我会打开一个终端窗口并键入类似node myfile.js的内容,并且它整天运行并运行;有趣. 然后,当我想重新启动它时,我击中Control-C并退出.然后我可以再次运行命令. 现在我想做的就是能够通过网页执行此操作,以便我的用户可以运行特定的JS文件并能够"重新启动"它们. 所以两个问题: 有可能,如果是这样,我该如何开始? 它是安全的吗? 基于Swatkins响应 我尝试过,什么也没有 $output = exec("node -v"); echo $output; 然后我在本地机器上尝试了,它可以很好地效果? 我仍然不确定安全性和停止运行脚本的能力 解决方案 假设您是基于Unix的OS: 您可以通过exec()函数运行shell命令: // in php file // to start the script exec("node myscript.j
0 2023-05-27
编程技术问答社区
如何进行远程的系统调用?
我有一个必须在服务器上安装磁盘的应用程序.磁盘和服务器全部连接,它只需要使用Linux" MOUNT"命令即可. 我写了一个简单的PHP: ,我添加了bash脚本:mountthedisk.sh #!/bin/bash diskutil mount /dev/xvdb1 /mnt/theDisk/ echo trying to mount 现在,如果我运行该php,我将没有结果.什么都没有回声,也没有磁盘安装.如何远程运行此命令?也许PHP不是最好的方法? 解决方案 此解决方案似乎不起作用.我不知道为什么,因为我还没有将setuid与shell脚本一起使用.但是,我让这个答案留在这里,以防万一有人想参考. 出于安全原因,我建议您将代码放入bash文件中.使用 setuid-bit 将bash文件作为root从任何其他用户内部执行.这样,除了root以外,其他任何人都无
0 2023-05-27
编程技术问答社区
脚本@php artisan package:discover处理post-autoload-dump事件时返回错误代码255
我将项目从桌子移到另一个. 当我运行php artisan时,它不起作用. 我尝试运行composer update,但它返回错误 脚本@php工匠软件包:发现返回错误代码255 的返回的autoload-dump活动 解决方案 这是我在Laravel版本6.x -7.x升级后解决此问题的方法: in App\Exceptions\Handler更改 //Use Exception; Use Throwable; 然后接受Throwable实例而不是Exceptions的方法: //public function report(Exception$exception); public function report(Throwable $exception); //public function render($request, Exception $exception); public function render($request, Th
0 2023-05-26
编程技术问答社区
没有定义Php artisan make:auth命令
我正在尝试在Laravel 5.2中运行此命令,但它不起作用: php artisan make:auth 并提示这些语句: [InvalidArgumentException] Command "make:auth" is not defined Did you mean one of these? make:test make:request make:migration make:seeder make:middleware make:controller make:provider make:policy make:event make:console make:job make:listener make:model make:command 解决方案 laravel> =
0 2023-05-26
编程技术问答社区
在通过命令提示符执行PHP5脚本时,是否可以读取cookie/session值?
使用命令提示符执行PHP脚本时,我需要从cookie或session中读取一些值.我怎样才能做到这一点? 如何从Windows命令提示符中访问cookie或会话值? 解决方案 cookie是从用户的Web浏览器发送的.当您从命令行执行PHP脚本时,没有浏览器发送或接收cookie.没有办法访问或保存cookie,除了您在命令行上传递的参数外,任何内容均未发送到脚本. 话虽如此,如果您知道他们的phpsessid cookie,有一种方法可以阅读浏览器的某人. 假设有人使用Web浏览器访问了您的脚本,他们的phpsessid是A1B2C3D4,您想在其会话中执行脚本.在命令行中执行以下操作. php -r '$_COOKIE["PHPSESSID"] = "a1b2c3d4"; session_start(); require("path_to_php_script.php");' 其中path_to_php_script.php是要执行的PHP脚本的路
0 2023-05-26
编程技术问答社区