cli php 增强包_php cli内存使用优化

我正在为Squid编写一个自定义的URL重写器。

&还可以使用其他URL重写程序(如Squidguard)

所以必须使用包装器才能同时使用这两个程序或任何其他程序。

当我尝试用PHP循环时。

(这就是Squid与外部程序通信的方式。

STDIN/STDUT。它为您提供了一个URL,您必须将新的或旧的URL发回。)

它有一个破坏性的内存使用,甚至什么都不做。

我已经改为用另一个bash脚本包装它,它只有几行。

&它循环而不是PHP。从外部调用PHP。当php脚本处理完url后,返回&exits。

这种方法比循环PHP脚本要好得多。

在PHP脚本中,现在几乎什么都没有了。(因为我还在开发它。)

它只是将video.yahoo.com替换为youtube.com。

还有几个变量和explode()来解析输入字符串…

但脚本仍在使用大量内存

下面是最高的输出:

PID USER VIRT RES SHR S %CPU %MEM TIME+ COMMAND

32059 squid 19720 7432 4396 R 0.9 2.9 0:00.02 php

32063 squid 19720 7436 4396 R 0.9 2.9 0:00.02 php

32066 squid 19720 7436 4396 R 0.9 2.9 0:00.02 php

32068 squid 19460 6188 3472 R 0.9 2.4 0:00.02 php

32070 squid 19720 7432 4396 R 0.9 2.9 0:00.02 php

32074 squid 19588 6792 3924 R 0.9 2.6 0:00.02 php

32077 squid 19720 7436 4396 R 0.9 2.9 0:00.02 php

这是PHP脚本

#!/opt/lampp/bin/php -q

<php

ini_set('html_errors',false);

ini_set('implicit_flush',true);

ini_set('max_execution_time',0);

ini_set('register_argc_argv',true);

$nl="\n"; $tab="\t";

$ds=DIRECTORY_SEPARATOR;

$lamppdir='/opt/lampp/';

$htdocsdir='/opt/lampp/htdocs/';

$wdir='/opt/lampp/htdocs/bin/';

$incdir=$htdocsdir.'inc/';

$logfile=$wdir.'log.txt';

if ($argc>1){

$return=$argv[1];

$return=explode(' ',trim($return));

$url=$return[0];

$sourceip=$return[1];

$user=$return[2];

$method=$return[3];

$urlgroup=$return[4];

$myip=$return[5];

$myport=$return[6];

$logdata=$argv[1];

// if(strlen($logdata)>50){ file_put_contents($logfile,$logdata.$nl,FILE_APPEND); }

fwrite(STDOUT,$return[0]."\r\n");

}

exit(0);

这是bash脚本

#!/bin/bash

lamppdir=/opt/lampp/

phpexecpath=/opt/lampp/bin/php

phpredirectorpath=/opt/lampp/htdocs/bin/redir.php

logdfile=/opt/lampp/htdocs/bin/log.txt

forcedexit=false

while [ "${forcedexit}" != "true" ]

do

read squidinput

phpout=`"${phpexecpath}" "${phpredirectorpath}" "${squidinput}"`

echo "${phpout}"

done

echo "\r\n"

exit 0

我已经在谷歌上找到了任何关于php cli和源代码使用的有用文档,但没有运气。

你有什么建议来减少源代码的使用吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值