草庐IT

auto-start-shell

全部标签

php - session_start();echo SID;刷新时输出空白页?

当我第一次运行这段代码时,我得到一些类似的东西:PHPSESSID=9o2bhrqmln2j52caspdhholhk7但是当我刷新时我得到一个空白页直到我删除PHPSESSIONcookie并开始一个新的……这是正常的还是我有问题? 最佳答案 Themanual说:Alternatively,youcanusetheconstantSIDwhichisdefinedifthesessionstarted.Iftheclientdidnotsendanappropriatesessioncookie,ithastheformsess

php - 在 Controller 中访问 shell 方法?蛋糕 PHP 1.3

我在CakePHP1.3中编写了一个具有返回值的shell方法。我希望能够从Controller中访问该方法,以便将其返回值传递到View中。我不确定如何从Controller中适本地访问这些方法。我做错了吗?我可以很容易地复制代码,但我想“保持干燥”,我相信实际功能不属于这个特定的Controller——我只需要它在这个特定View中的返回值。编辑:我意识到我在这里问错了问题,因为Shell本身不一定会返回值。我已经更改了代码,以便Shell仅使用我想要的返回值,现在我想知道-需要从Shell和Controller?看起来像是组件代码,但我不确定如何从Shell访问组件。据我了解,这

php - 调用 php shell_exec 命令的 html 按钮

我用谷歌搜索了这个问题,但我找不到答案。我讨厌php,但是php的人太忙了,我需要帮助!我想从html按钮调用perl脚本。但是,我只是想让它在后台运行,我不需要显示任何东西......这样的事情行得通吗?RunPerl我不想使用cgi,我希望它尽可能简单。谢谢 最佳答案 那行不通,您必须为此创建一个操作:RunPerl 关于php-调用phpshell_exec命令的html按钮,我们在StackOverflow上找到一个类似的问题: https://sta

php - session_start() 在发送输出后工作

我刚刚注意到一些奇怪的事情。我认为,正如PHP手册所说,必须在将任何输出发送到浏览器之前调用session_start():Tousecookie-basedsessions,session_start()mustbecalledbeforeoutputinganythingtothebrowser.因此,出于好奇,我创建了两个脚本。一个是write.php:另一个是read.php:令人惊讶的是,即使在echoingfoo之后,session也会被写入和读取。但是,如果我在echo之后添加对flush()的调用,Apache的错误日志报告:[TueJan0311:57:212012]

php - 从命令行执行脚本时,即使使用 ob_start() 也会将输出打印到终端

我写了一个小的命令行脚本来处理文档[一个带有lilypond乐谱插入的markdown文件,只是为了完整起见]。#!/usr/bin/envphptemplate.php...当我打电话时:$./phlilysource.md文件正确生成,但模板内容也打印到控制台:GNULilyPond2.14.2Processing`/Users/.../phlily/ly/4add05a74d249f34b3875ef6c3c1d79763927960.ly'Parsing...ConvertingtoPNG......这很烦人,因为我想从LilyPond脚本中读取错误和警告,因为它们被埋在终端的

php shell_exec 不适用于 imagemagick 命令

我尝试将rgb颜色转换为透明当我在命令行中使用这段代码时,它运行完美。convert-transparent'RGB(249,249,255)'/home/me/web/my.png/home/me/web/mynew.png但是当我将它与php一起使用时:我得到错误:转换:无法打开图像“/home/me/web/mynew.png”:@error/blob.c/OpenBlob/2498。有人有想法吗? 最佳答案 你必须使用你的homedir的相对路径(因为shell_exec)否则你必须使用绝对路径。但是你为什么不用imagem

php - ob_start echo 的字符串仍然输出

我希望ob_start()不让echo的输出到它们的正常目的地,而是只记录它们的内容。但它似乎并没有这样做。有任何想法吗?这是我的代码:测试仍然被回显。它也是var_dump'd,但我不希望它被回显。有什么想法吗?谢谢! 最佳答案 输出缓冲区会在脚本结束时自动刷新,因此这是预期的行为。您正在寻找ob_get_clean(),在清除之前返回当前缓冲区:$out=ob_get_clean(); 关于php-ob_startecho的字符串仍然输出,我们在StackOverflow上找到一个类

"start of string or pattern"的 PHP 正则表达式

这个问题在这里已经有了答案:Regexlookahead,lookbehindandatomicgroups(5个答案)关闭9年前。有没有办法(除了进行两个单独的模式匹配)在PHP中使用preg_match来测试字符串或模式的开头?更具体地说,我经常发现自己想要测试我是否有一个匹配模式,它前面没有任何内容,如preg_match('/[^x]y/',$test)(也就是说,如果y前面没有x,则匹配它),但如果它出现在$test的开头,则也匹配y(当它前面也没有x,但前面没有任何字符,因此[^x]构造将不起作用,因为它始终需要一个字符来匹配它。在字符串末尾也有类似的问题,以确定是否出现了

php - 发生错误时 ob_start 被中断

所以ob_start()应该捕获输出,直到另一个缓冲区函数被调用,如ob_get_clean(),ob_get_contents(),ob_get_flush()。但是当缓冲区读取器中抛出异常时,它将通过停止读取器并回显输出而不是继续捕获它来影响读取器。这就是我要防止的。假设这是我的脚本:Someerroroccured:".$e->getMessage();//print_r($e);}?>此脚本将输出:Idon'twannaoutputthiswhatsoever,sowanttocacheitinavariablewithusingob_functionsSomeerrorocc

PHP-FPM 错误日志显示 "Not a JPEG file: starts with 0x47 0x49"

在我的PHP-FPM日志文件中,我有很多行如下所示[18-Sep-201603:59:06]WARNING:[poolwww]child5425saidintostderr:"NotaJPEGfile:startswith0x470x49"这是什么意思? 最佳答案 这是一个commonerror.看起来你正在用imagecreatefromjpeg打开一个文件,但它不是jpeg,它是一个gif文件,看看thisnote关于起始字节。 关于PHP-FPM错误日志显示"NotaJPEGfil