PHP中file_get_contents、fp_open等不能使用!

本文介绍了如何解决服务器无法正常访问URL的问题,包括检查DNS设置、启用PHP的URL打开功能及openssl扩展等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果需要打开的是URL!步骤如下:

1、在服务器ping打开的url,看看是否能Ping通,如果不同!一般情况下是服务器DNS有问题!

  

[root@micity /]# vi etc/resolv.conf
# Generated by NetworkManager
search localserver
nameserver 123.125.81.6
nameserver 101.226.4.6
~
设置DNS如上!着个DNS很好用!

然后在Ping如果通~ok!尝试打印file_get_contents的值

<?php
var_dump(file_get_contents($yoururl));
?>

如果结果不是false,ok!

2、如果上述方法仍然不起作用!可能是因为服务器上的Php关闭了 allow_url_open,在Php.ini文件中找到该配置项!修改为On重启!php-fpm,实在不行重启服务器!reboot!

OK~

3、想要访问https的链接!需要开启Php的Oppenssl功能!windows下直接在php.ini下开启!linux需要先安装openssl,然后在php.ini中开启!

4、如果你重启了服务器,会发现之前的DNS又被重置了,oh~no!解决方法如下

[root@micity network-scripts]# vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=9dd8063d-c721-4006-bcfb-af09aeae10ce
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.0.88
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:1A:92:11:95:48
DNS1=123.125.81.6
DNS2=101.226.4.6
请注意 DNS1和DNS2是手动加的!然后重启network服务!

service network restart


int decode_libpics(DEC_CDSC * cdsc, LibVCData* libvc_data) { STATES state_lib = STATE_DECODING; unsigned char * bs_buf_lib = NULL; unsigned char * bs_buf_lib2 = NULL; DEC id_lib = NULL; COM_BITB bitb_lib; COM_IMGB * imgb_lib; DEC_STAT stat_lib; int ret; COM_CLK clk_beg_lib, clk_tot_lib; int bs_cnt_lib, pic_cnt_lib; int bs_size_lib, bs_read_pos_lib = 0; int width_lib, height_lib; FILE * fp_bs_lib = NULL; #if LINUX signal(SIGSEGV, handler); // install our handler #endif #if DECODING_TIME_TEST clk_beg_lib = com_clk_get(); #endif /* open input bitstream */ fp_bs_lib = fopen(op_fname_inp_libpics, "rb"); if (fp_bs_lib == NULL) { v0print("ERROR: cannot open libpics bitstream file = %s\n", op_fname_inp_libpics); print_usage(); return -1; } if (op_flag[OP_FLAG_FNAME_OUT_LIBPICS]) { /* remove decoded file contents if exists */ FILE * fp; fp = fopen(op_fname_out_libpics, "wb"); if (fp == NULL) { v0print("ERROR: cannot create a decoded libpics file\n"); print_usage(); return -1; } fclose(fp); } bs_buf_lib = malloc(MAX_BS_BUF); if (bs_buf_lib == NULL) { v0print("ERROR: cannot allocate bit buffer, size=%d\n", MAX_BS_BUF); return -1; } bs_buf_lib2 = malloc(MAX_BS_BUF); if (bs_buf_lib2 == NULL) { v0print("ERROR: cannot allocate bit buffer, size2=%d\n", MAX_BS_BUF); return -1; } #if CU_LEVEL_PRIVACY unsigned char *bs_buf_lib3 = malloc(MAX_BS_BUF); if (bs_buf_lib3 == NULL) { v0print("ERROR: cannot allocate bit buffer, size2=%d\n", MAX_BS_BUF); return -1; } #endif #if SVAC_UD_MD5_STREAM unsigned char * bs_buf4 = NULL; unsigned char * bs_buf5 = NULL; bs_buf5 = malloc(MAX_BS_BUF); if (bs_buf5 == NULL) { v0print("ERROR: cannot allocate bit buffer, size=%d\n", MAX_BS_BUF); return -1; } bitb_lib.addr3 = bs_buf5; bitb_lib.addr3_beg = bs_buf5; bs_buf4 = malloc(MAX_BS_BUF); if (bs_buf4 == NULL) { v0print("ERROR: cannot allocate bit buffer, size=%d\n", MAX_BS_BUF); return -1; } unsigned char * buf4_p = bs_buf4; unsigned char * buf4_beg = bs_buf4; #endif id_lib = dec_create(cdsc, NULL); if (id_lib == NULL) { v0print("ERROR: cannot create decoder\n"); return -1; } set_livcdata_dec(id_lib, libvc_data); if (set_extra_config(id_lib)) { v0print("ERROR: cannot set extra configurations\n"); return -1; } pic_cnt_lib = 0; clk_tot_lib = 0; bs_cnt_lib = 0; width_lib = height_lib = 0; #if CU_LEVEL_PRIVACY int bs_buf3_size = 0; #endif while (1) { if (state_lib == STATE_DECODING) { bs_size_lib = read_a_bs(fp_bs_lib, &bs_read_pos_lib, bs_buf_lib, bs_buf_lib2 #if CU_LEVEL_PRIVACY , bs_buf_lib3, &bs_buf3_size #endif #if SVAC_UD_MD5_STREAM , &bitb_lib #endif ); if (bs_size_lib <= 0) { state_lib = STATE_BUMPING; v1print("bumping process starting...\n"); continue; } bs_read_pos_lib += (bs_size_lib); bitb_lib.addr = bs_buf_lib; bitb_lib.ssize = bs_size_lib; bitb_lib.bsize = MAX_BS_BUF; #if CU_LEVEL_PRIVACY bitb_lib.addr2 = bs_buf_lib3; bitb_lib.ssize2 = bs_buf3_size; #endif #if !DECODING_TIME_TEST clk_beg_lib = com_clk_get(); #endif /* main decoding block */ ret = dec_cnk((DEC_CTX *)id_lib, &bitb_lib, &stat_lib); if (COM_FAILED(ret)) { v0print("failed to decode bitstream\n"); return -1; } #if !DECODING_TIME_TEST clk_tot_lib += com_clk_from(clk_beg_lib); #endif } if (stat_lib.fnum >= 0 || state_lib == STATE_BUMPING) { ret = dec_pull_frm((DEC_CTX *)id_lib, &imgb_lib, state_lib); if (ret == COM_ERR_UNEXPECTED) { v1print("bumping process completed\n"); goto END; } else if (COM_FAILED(ret)) { v0print("failed to pull the decoded image\n"); return -1; } } else { imgb_lib = NULL; } if (imgb_lib) { width_lib = imgb_lib->width[0]; height_lib = imgb_lib->height[0]; if (op_flag[OP_FLAG_FNAME_OUT_LIBPICS]) { write_dec_img(id_lib, op_fname_out_libpics, imgb_lib, ((DEC_CTX *)id_lib)->info.bit_depth_internal); } imgb_lib->release(imgb_lib); pic_cnt_lib++; } } END: #if DECODING_TIME_TEST clk_tot_lib += com_clk_from(clk_beg_lib); #endif libvc_data->num_lib_pic = pic_cnt_lib; #if CU_LEVEL_PRIVACY if (bs_buf_lib3) { free(bs_buf_lib3); bs_buf_lib3 = NULL; } #endif if (id_lib) dec_delete(id_lib); if (fp_bs_lib) fclose(fp_bs_lib); if (bs_buf_lib) free(bs_buf_lib); return 0; } #endif
最新发布
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值