草庐IT

命令行虚拟化

全部标签

php - 如何用引号转义 php exec() 命令

我在Linux上使用Exiv2命令行工具来编辑图像元数据,如下所示:exiv2-M"setIptc.Application2.CaptionStringThisismycaption....."modifyIMG.jpg我想使用用户提供的标题从PHP执行此操作。如果用户不输入特殊字符,这将起作用:exec('/usr/local/bin/exiv2-M"setIptc.Application2.CaptionString'.$caption.'"modifyIMG.jpg');我需要允许用户使用特殊字符,例如单引号和双引号。我想使用escapeshellcmd()来防止恶意数据。我怎样

php - 是否可以在 PHP 中的一个命令(在同一行)中创建实例和调用方法?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:InPHP,canyouinstantiateanobjectandcallamethodonthesameline?这可能吗?通常,它需要两行:$instance=newMyClass();$variable=$instance->method();在PHP中可以实现这样的功能吗?$variable=newMyClass()->method();当然,第一个代码在可读性和代码整洁等方面更好,但我只是好奇你是否可以缩小它。如果该方法返回另一个实例,它可能会有用,例如:$instance=newMyClass(

php - 我如何知道 exec 函数中的命令错误?

我正在使用ffmpeg命令在php中使用exec函数剪切视频。但它没有创建视频文件,也没有显示任何错误。我按如下方式使用execexec("ffmpeg-iinput.flv-ss00:00:30.0-t00:00:10.0-acodeccopy-vcodeccopy-async1output.flv");我能得到任何帮助来了解这里发生的错误吗?exec("ffmpeg-iinput.flv-ss00:00:30.0-t00:00:10.0-acodeccopy-vcodeccopy-async1output.flv",$output);我也试过了。但是我没有在变量$output中收到

php - PHP 中的退出状态仅在从命令行运行时有用吗?

我只是readingthedocsforPHP'sexit构造。它说您可以传递一个整数(0-254),它将成为退出代码...exit(5);这仅在CLI下从PHP运行时有用吗?Apache可以将错误代码用于任何事情吗?PHP正常运行会一直使用exitcode0吗?谢谢 最佳答案 虽然这不是一个权威的答案,但我不知道它(将整数传递给exit)在CLI环境之外服务的任何目的。Web服务器传统上只报告HTTP状态代码,它们没有任何理由去别处寻找状态代码。您可以在sapi目录中查看PHP的源代码。例如,在php_cli.c中,您会在文件末尾

php - 在没有 apache 虚拟主机的情况下安装 zend 框架

我的网站在/var/www/invent中。我在/var/www/invent/library中有zend-framework。基本上我想要的是当我访问http://localhost/invent时就像我在apacheconf文件中定义了一个虚拟主机“发明”一样工作(比如访问http://invent)。我怎样才能做到这一点?我在Windows下开发了我的项目,设置了虚拟主机,但我不想继续这样工作,因为我无法在不允许我创建虚拟主机的公共(public)虚拟主机服务上部署我的应用程序。更不用说如果我在LAN上部署应用程序,我还需要配置客户端的主机文件......请帮助,这是zend最烦

php - phpunit命令如何进行搜索类测试?

我用的是windows。例如,我有一些网站的结构如下:site/engine/ModelClass.phpwww/index.phptests/ModelCalssTest.phpphpunit.bat运行测试ModelClassTest.php的phpunit.bat应该存储在哪里? 最佳答案 您根本不需要存储phpunit.bat。它应该在您的PATH中。只需通过PEAR安装即可。如果您不想这样做并且您在系统本地拥有它,或者您想要版本控制中的phpunit源代码(有些人想要那样),那么您的phpunit.bat在哪里并不重要。项

php - 在 PHP 中创建虚拟主机

我正在尝试在我的Ubuntu系统上设置symfony。现在通过symfony的安装教程,我发现为我的(要创建的)应用程序创建一个虚拟主机。我执行了与以下相同的步骤。httpd.confNameVirtualHost127.0.0.1:9090Listen127.0.0.1:9090ServerNamewww.symfony.jobeet.lclDocumentRoot"/home/sfprojects/jobeet/web"DirectoryIndexindex.phpAllowOverrideAllAllowfromAllAlias/sf/home/sfprojects/jobeet

php - 使用 php 使用 sudo 执行命令

我有一个脚本调用以下命令来获取未读消息的数量:sudols/var/vmail/username/new|wc-l这在从shell运行时工作正常(权限设置并且在不提供密码的情况下运行正常)。但是当使用exec从PHP运行时,它按预期执行,但它总是返回0。这可能是什么原因造成的?我该如何调试或修复问题?(php5.3、redhat、apache~默认配置)编辑感谢ruaks的提示。问题是:sudo:抱歉,您必须有tty才能运行sudo。注释掉/etc/sudoers中的条目有助于:DefaultsrequirettyDefaults:apache!requiretty但是看起来这对安全性

java诊断工具-Arthas(watch命令)方法观察神器

能方便的观察到指定方法的调用情况。能观察到的范围为:返回值、抛出异常、入参。 watch1、得到要观察类的类属性以及值,调用类方法2、得到类对象的属性以及值3、得到方法调用前后的入参、出参值4、根据调用时长,入参匹配条件,异常情况过滤方法调用情况参数说明watch的参数比较多,主要是因为它能在4个不同的场景观察对象。参数名称参数说明class-pattern类名表达式匹配method-pattern方法名表达式匹配express观察表达式,默认值:{params,target,returnObj}condition-express条件表达式[b]在方法调用之前观察[e]在方法异常之后观察[s]

php - 如何将此命令行 curl 转换为 php curl?

我有一段命令行curl代码,我想将其翻译成php。我在挣扎。这是代码行$curl-H"Authorization:622cee5f8c99c81e87614e9efc63eddb"https://api.service.com/member大字符串将是我传递给它的变量。这在PHP中是什么样子的? 最佳答案 您首先需要分析该行的作用:$curl-H"Authorization:622cee5f8c99c81e87614e9efc63eddb"https://api.service.com/member这并不复杂,您可以在curl'sm