您好,欢迎访问一九零五行业门户网

如何解决php脚本段错误的问题

php脚本段错误的解决办法:1、升级php版本;2、删除“/etc/pki/nssdb/pkcs11.txt”和“/etc/pki/nssdb/cert9.db”文件即可。
推荐:《php视频教程》
php使用file_get_contents或curl请求https的域名均会发生segment fault的错误。
问题php代码如下,执行该php命令会发生segment fault:
var_dump(file_get_contents(https://www.baidu.com));
解决方案:
1. 升级你的php版本,在5.4环境下,未能重现改问题(以上执行代码是php5.2)
2. sadly, this has not been the case. removing /etc/pki/nssdb/pkcs11.txt and /etc/pki/nssdb/cert9.db seem to be the key, here. :-((centos bugs上提供的解决方案,实践后 可行,但是删掉了不久后会重新出现)
但是为什么会发生段错误呢?
php版本:
php 5.2.14 (cli) (built: jul 3 2016 23:56:15)copyright (c) 1997-2010 the php groupzend engine v2.2.0, copyright (c) 1998-2010 zend technologies with eaccelerator v1.0-dev, copyright (c) 2004-2012 eaccelerator, by eaccelerator
linux系统信息:
lsb version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchdistributor id: centosdescription: centos release 6.3 (final)release: 6.3codename: final
通过查看内核日志和gdb记录,可以发现问题出现在libsqlite上
内核日志:
tail -f /var/log/messageskernel: php[26564]: segfault at 8048 ip 00007f7a72fede9c sp 00007fffec90edf0 error 4 in libsqlite3.so.0.8.6[7f7a72fd1000+8c000]
gdb记录:
program received signal sigsegv, segmentation fault.0x00007fffe9651e9c in sqlite3_file_control () from /usr/lib64/libsqlite3.so.0
在centos的bug列表中,能够找到关于这个bug的说明:
https://bugs.centos.org/view.php?id=7399https://www.mankier.com/5/cert9.db
以上就是如何解决php脚本段错误的问题的详细内容。
其它类似信息

推荐信息