Allowed memory size of 134217728 bytes exhausted (tried to allocate 1580994 bytes) 问题解决方案

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 1580994 bytes) in Log.php on line 261

今天同事遇到对账文件获取问题,根据错误描述是超出了分配给PHP的内存限制

解决方案:
1、修改PHP的内存大小限制
修改php.ini memory_limit = 128 需要重启服务器
或者
ini_set(‘memory_limit’,’256M’); //升级为申请256M内存

2、查看为什么引起这种情况

  • 结合memory_get_usage()查看内存实时使用情况,大体获知原因为已经没用的对象没有垃圾回收,一般情况下没有垃圾回收也是没问题的,但是这里是极端情况,获取的对账内容作为属性放入这个对象,解决方案是unset此对象
  • 另外查看到文件流没有关闭fclose关闭此文件流

问题:The requested resource () is not available.

问题:The requested resource () is not available.

HTTP Status 404 -


type Status report

message

description The requested resource () is not available.

原因:当然这不是根本原因,根本原因是tomcat或者web.xml等,映射URL问题 这是个思路就是看看你的URL是否正确

https://10.10.10.10:28186/bfront/service/ 写成了 https://10.10.10.10:28186/bfront/service
没加最后的/ 。。。

问题:java lang NoSuchFieldError:ecdsa_with_SHA224

遇到问题:

root cause

java.lang.NoClassDefFoundError: Could not initialize class org.bouncycastle.cms.CMSSignedDataGenerator
    com.lsy.baselib.crypto.protocol.PKCS7Signature.sign(PKCS7Signature.java:62)
    com.lsy.baselib.crypto.processor.ECCryptoProcessor.sign(ECCryptoProcessor.java:165)

root cause

java.lang.NoSuchFieldError: ecdsa_with_SHA224
    org.bouncycastle.cms.CMSSignedGenerator.<clinit>(Unknown Source)
    com.lsy.baselib.crypto.protocol.PKCS7Signature.sign(PKCS7Signature.java:62)
    com.lsy.baselib.crypto.processor.ECCryptoProcessor.sign(ECCryptoProcessor.java:165)

解决方案:
两个包起冲突了!!!
其中光大银行提供的bcprov-jdk-1.0.jar与中信银行提供的jce-jdk13-136-1.0.jar是不同版本的里面结构也是大同小异,本来都测好的功能了,出了这茬浪费时间啊!!!!希望可以会帮助到后来的童鞋!

Solution:
This is only going to happen if you’re mixing a later version of the CMS
library with an earlier version of the provider.

ps:同样问题的童鞋

http://bouncy-castle.1462172.n4.nabble.com/NoSuchFieldError-ecdsa-with-SHA224-td2165090.html

Nginx出现upstream prematurely closed connection while reading response header from upstream错误

今日突然之间PHP的环境不好使了,打开什么页面都是502错误,查看日志错误如下:

2015/05/19 10:29:39 [error] 1616#3708: *7 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"</div>

应该是看起来应该是PHP处理出现问题了

那么查看一下PHP的9000端口 看看是否有进程在占用
1.在运行中输入cmd打开dos命令窗口,比如我想找到端口9000对应的PID(通过PID找到相应的进程)
键入命令:netstat -ano|findstr 9000

2.根据PID找到对应的进程,打开任务管理器-点击查看选项-选择(选择列)

这样就会在任务管理器上看到PID的值
 
3.找到对应的PID关闭进程,关闭PID为1944的进程

查出来之后竟然是Eclipse占用了 为何占用 挺疑惑的。。。

2015年一个新的小目标

2014年我的目标是有一辆自己的车,当然这是物质上的,也是明面上的,还有很多精神上的目标,哈哈,到年底了,驾照学出来了,然后前两天在选车,我没赞够太多钱,也就一半吧,买车也是在家买,家里人开着,后期如果我真的考虑回家的话就是我开了。

这几天去4s店看车了,说实话挑花眼,其实还是穷,要是富的话就买买买了,呵呵,同价位的车很多,看好的合资车,看看年前就买下了。

今年的目标呢,攒够首付的钱,找到一个和我一起还房贷的GF。(嗯,说的比较松,没说攒够在哪买房的钱,所以呢,没啥意外我会在今年底宣布我完成了目标,但是既然在北京工作,我的想法就是留在北京,最起码为这个目标奋斗着,如上)

临时解决baidusubmit在SAE上面WordPress中提交或修改文章报错现象

最初的baidusubmit插件,安装验证网址之后,当提交或者修改文章的时候会报如下错误:

[php]Catchable fatal error: Argument 1 passed to BaidusubmitSitemap::filterContent() must be an instance of WP_Post, instance of stdClass given, called in /wp-content/plugins/baidusubmit/inc/sitemap.php on line 427 and defined in wp-content/plugins/baidusubmit/inc/sitemap.php on line 87[/php]

观察代码之后,var_dump输出,确定已经获取到数据,但是并不是WP_Post的静态实例,尝试强制转换未生效,临时的解决方案是将inc/sitemap中第87行去掉强制转换修改为如下

[php]
static function filterContent(post, &multimedia)
[/php]

PHP cURL https SSL certificate problem: unable to get local issuer certificate 解决方案

PHP通过cURL访问https时出现SSL certificate problem: unable to get local issuer certificate的解决方法:
只要设置以下两个属性就可以解决。

将 CURLOPT_SSL_VERIFYPEER 设置为 false,
将 CURLOPT_SSL_VERIFYHOST 设置为 false.

代码如下:

<?php
cURL = curl_init();url  = 'http://www.congcong.us/';
curl_setopt_array(
        cURL,
        array(
                CURLOPT_URL =>url,
                CURLOPT_REFERER => $url,
                CURLOPT_AUTOREFERER => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_SSL_VERIFYPEER => false,
                CURLOPT_SSL_VERIFYHOST => false,
                CURLOPT_CONNECTTIMEOUT => 1,
                CURLOPT_TIMEOUT => 30,
                CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36'
        )
);
//其他代码...
?>

虽然请求OK了,但是根本原因还是要解决一下的,是否此战设置证书有问题?