草庐IT

redis-cli

全部标签

php - 使用 valgrind 调试 PHP cli 段错误

我有一个在cli中运行的第三方PHP脚本,它抛出一个segmentationfault,我是现在尝试调试。刚刚了解了valgrind工具,但我能找到的大多数指南似乎都是针对在Apache中运行的PHP,而不是cli.如何使用valgrind调试我的cli脚本并找出导致此段错误的原因?编辑:使用@sudowned的帮助,它给了我以下信息,但不确定它告诉我什么:==32363==Invalidreadofsize8==32363==at0x6A459A:_zend_mm_alloc_canary_int(in/usr/bin/php5)==32363==by0x6A4CFD:_zend_m

php blowfish 哈希与 crypt() : the CLI result differs from webserver's one

当我使用使用Blowfish算法的php函数crypt()时withweb-server:我得到这个结果:$2a$10$7711cbpe58dfpogiu0498u5Vh773A3qx.3LE3ro3NX7F9c9N7.pOm但是如果我使用PHP解释器命令行:php-r"echocrypt('SAD123',sprintf('$2a$10$%s','7711cbpe58dfpogiu049857f011werb0'));"我得到另一个结果:a0SqNHxQ8/2mA你有什么想法吗?系统是:Apache/2.2.3(CentOS),PHP版本5.4.26 最佳

php - 什么是 CLI 服务器?

我正在使用getallheaders()php全局函数来获取当前请求的所有header。在php手册中,它说它是apache_request_headers的别名,并且在CLI服务器中可用。CLI服务器是什么意思? 最佳答案 自版本5.4.0起,PHPcommandlineinterpreter(CLI)也可以用作built-inwebserver.commandlineoptions作为Web服务器启动CLI所需的是:-S:Runwithbuilt-inwebserver.-tSpecifydocumentrootforbuilt

php - 在 Windows 中轻松使用 PHP doctrine CLI

在Windows中,要从任何目录使用doctrineCLI,我需要使用类似的东西phpD:\full\path\to\doctrine\bin\doctrine.php--variableshere无论如何我可以缩短它,使其变成类似的东西phpdoctrine.php--variableshere甚至doctrine--variableshere 最佳答案 试试doskeydoctrine=phpD:\full\path\to\doctrine\bin\doctrine.php$*那么你应该可以doctrine--variables

php - 从 CLI 运行时抑制 PHP 错误的 HTML 标记

这个问题在这里已经有了答案:HowcanItellPHPtodumpexceptionsasrawtextinsteadofHTML?(3个答案)关闭8年前。当我在CLI上运行php-lsomeFile时,输出用HTML标记标记:$php-lsomeFile.phpParseerror:syntaxerror,unexpectedT_ECHOin/home/someUser/public_html/someFile.phponline42ErrorsparsingsomeFile.php$如何禁止这些HTML标签?我实际上正在使用自定义php.ini进行解析(示例中未显示以简化),因此

php - 为什么带有 PCRE_UTF8 的 PHP preg_match_all 在 CLI 上和通过 Apache/mod_php 给出不同的结果?

以下代码在通过CLI和Apache/mod_php运行时产生不同的结果:$pattern."u",//Addu(PCRE_UTF8)modifier"Non-unicode"=>$pattern);echo"Text:\n'$text'\n";foreach($regexpsas$type=>$regexp){$matches=array();$total=preg_match_all($regexp,$text,$matches);echo"\n\n";echo"$typeregex:\n'$regexp'\n\n";echo"Total$typematches:";var_dump

【Redis】哨兵(sentinel)

文章目录Redis哨兵(sentinel)官网定义作用用法(一主二从三哨兵)哨兵配置文件`sentinel.conf`启动一主二从启动三台哨兵哨兵故障恢复哨兵运行流程和选举原理SDown主观下线(SubjectivelyDown)ODown客观下线(ObjectivelyDown)哨兵内部选取leaderRaft算法由leader推动故障切换流程并选出一个新master新master选举从机重新认主老master重连后也认新主哨兵使用建议Redis哨兵(sentinel)官网https://redis.io/docs/manual/sentinel定义吹哨人巡查监控后台master主机是否故障

php - 如何在 apache 和 php_cli 之间共享 APC 缓存?

我在一些博客中读到apache和php_cli不共享APC数据,因为它们在不同的进程中运行...但是,我需要使用缓存在Apache(浏览器中的用户)和cron进程(php_cli)中的相同数据。怎么做?我已经尝试从php_cli访问一些key,但它确实无法获取。一些想法? 最佳答案 无法使用APC的数据缓存。数据位于仅在Apache内部可用的共享内存中。唯一的选择是使用某种外部存储。根据您的具体需求,这可以像文本文件一样简单,也可以像关系数据库、NoSQL数据库或其他键值存储(如memcached)一样复杂。

从浏览器而非 CLI 调用时 PHP exec 失败

我有一个简单的PHP脚本:exec('gitpulloriginmaster',$shell_output,$output);print_r($shell_output);print_r($output)当我通过CLIphpgit.php调用它时,它工作正常。我得到了预期的输出,返回值为0。当我通过网络浏览器访问该页面时,它失败了,返回值为1。我已将文件权限设置为777,并确保php.ini不会阻止exec()函数。 最佳答案 CLI使用当前登录用户(您)的凭据运行,它很可能与Web服务器进程使用的不同。执行exec('whoami

php - 通过 CLI 运行 PHP 时的 URL 参数

有什么方法可以将参数(如URL中的查询字符串或URL参数)传递给通过CLI运行的PHP文件?对于一些需要从参数输入的PHPcron作业,我需要这个。例如:$php/home/abc/www/myphp.php?param1=abc 最佳答案 每个命令行界面都有两个特殊变量argc和argv。argv-传递给脚本的参数数组。argc-传递给脚本的命令行参数的数量(如果在命令行上运行)。制作脚本cli.php并用参数调用它:$phpcli.phpargument1=1你应该得到这样的输出:Array([0]=>cli.php[1]=>a