草庐IT

linux命令_ps

全部标签

php - DOMDocument/Xpath 在长时间的命令行过程中泄漏内存 - 任何解构此类的方法

我正在构建一个命令行php抓取应用程序,它使用XPath来分析HTML-问题是每次在循环中加载一个新的DOMXPath类实例时,我得到的内存损失大致等于正在加载XML。脚本运行并运行,慢慢增加内存使用量,直到达到限制并退出。我试过用gc_collect_cycles()强制垃圾回收并且PHP仍然没有从旧的Xpath请求中取回内存。事实上,DOMXPath类的定义似乎甚至没有包含析构函数?所以我的问题是......在我已经提取了必要的数据之后,是否有任何方法可以强制清理DOMXPath上的垃圾?可以预见,在类实例上使用unset什么都不做。代码没什么特别的,只是标准的Xpath东西://

php - Linux 服务器 PHP 更新回滚

我有一个专用服务器托管着许多当前运行PHP5.2的网站。我需要升级PHP版本,有人告诉我可以使用以下命令通过SSH执行此操作:yum升级php不,我有点担心进行更新和网站无法再运行,那么是否有我可以使用的回滚命令,以便在出现问题时我可以快速切换回PHP5.2?非常感谢 最佳答案 你最好先知道从php5.2到php5.3有什么变化,如果你认为这些变化不会影响你的脚本,然后升级,如果没有,那么继续使用php5.2或在你的脚本中进行必要的更改首先(我个人建议您升级到PHP5.3),这里是更改列表MigratingfromPHP5.2to5

php - 启动进程,从 ps 隐藏参数

我有一个与API交互的Python脚本。该脚本从PHP页面启动。这两个脚本都是我写的,所以我可以根据需要更改其中的代码。Python脚本需要用户名和密码才能与API交互。我的第一个倾向是将它们作为CLI参数传递给Python:但是,任何人都可以通过ps查看凭据:$ps|grepsomeScript1000232952.00.21168529252pts/0S+15:470:00pythonsomeScript.pyAzureDiamondhunter2我正在考虑的替代方案是将数据写入文本文件或sqlite数据库,然后删除它们。有没有更好的主意?sqlite方法的一个限制是它需要以一种相

php - 无法调用具有多个方法参数的命令

每次我尝试使用基本的PHPUnitSelenium断言之一时,测试都会出错并显示此消息:Exception:Youcannotcallacommandwithmultiplemethodarguments.关于http://phpunit.de/manual/3.7/en/selenium.html,它显示用法为:voidassertElementValueEquals(string$locator,string$text)当我调用它时是$this->assertElementValueEquals('id=date_1_formatted','2013-01-01');测试每次都会产

php glob() 如果在 Windows 上为空则返回数组,在 Linux 上则没有

目前我有:$files=array_merge(glob($path_.'*.js'),glob($path_.'*.css'));如果目录在Windows上为空,则返回一个空数组。如果它们在linux上为空,则不返回任何内容。这会在Linux上产生这个错误:警告:array_merge()[function.array-merge]:参数#1不是数组Windows:Apache:2.2.21PHP:5.3.10Linux/Debian:Apache:2.2.16PHP:5.3.10经过进一步的研究和测试,我发现这是PHP中的一个错误:https://bugs.php.net/bug.

php - grunt magento2 警告标志显示 magento 命令

我在使用grunt时遇到问题警告标志是jit-grunt:Pluginforthe"&&"tasknotfound.Ifyouhaveinstalledthepluginalready,pleasesettingthestaticmapping.Seehttps://github.com/shootaroo/jit-grunt#static-mappingsWarning:Task"&&"failed.Used--force,continuing.jit-grunt:Pluginforthe"php"tasknotfound.Ifyouhaveinstalledthepluginalr

PHP输出到命令行

我从命令行启动我的脚本,它输出发生的事情,但一周前它停止输出,现在在脚本完成时输出所有内容。我有ob_start()但据我所知这不会影响命令行输出。 最佳答案 一个简单的方法是在php中创建一个像这样的函数:functionconsole_log($message){$STDERR=fopen("php://stderr","w");fwrite($STDERR,"\n".$message."\n\n");fclose($STDERR);}其中$message是命令行的期望输出。然后只需在您想要输出的任何地方调用该函数,并传入您想要

php - 在 Controller 内的命令行中执行 python - PHP/CodeIgniter

在我的automation.phpController中,我有以下功能:publicfunctiondeploy_test(){echojson_encode(system("python--version"));}当用户想要部署测试时,通过点击网页中的test按钮,就可以完成这样的任务。然而,当我点击test按钮时,我的输出是:""同时,当我使用命令执行相同的功能时:publicfunctiondeploy_test(){echojson_encode(system("ls-l"));}我得到:total32drwxr-xr-x.15philippephilippe4096Mar41

Linux 上的 PHP 和 RAW SOCKETS

做一个就够了吗sudosetcapcap_net_raw=eip/usr/bin/php5能够在Linux中的PHP(而非CLI)中使用RAWSOCKETS?如果是,那么它不工作(但开始在CLI中工作但不使用Apache)所以我想我也必须将这些权限授予Apache,但我不知道如何去做。你能帮帮我吗?来自PHP脚本的错误:警告:socket_create():无法创建套接字[1]:中不允许的操作PHP脚本:$package="\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";$socket=socket_create(AF_INET,SOCK_RAW,1

php - Xdebug laravel artisan 命令

我经常使用xdebug来调试应用程序,我构建了一个laravel应用程序,它上传一个csv,将数据插入数据库,并将ID插入作业队列。我编写了一个artisan命令,通过cron运行,然后对这些数据执行某些操作。Xdebug可通过浏览器访问站点,但在从cli运行时不会在断点处中断。我运行php5-fpm。我的文件/etc/php5/fpm/php.ini和/etc/php5/cli/php/ini两者都包含以下设置:zend_extension=/usr/lib/php5/20121212/xdebug.soxdebug.remote_enable=1xdebug.idekey='dev