See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 12990|Vastuse: 5

[Veeb] Vead, mis sageli esinevad veebiserverites, allpool on aeglaste päringute vealogi

[Kopeeri link]
Postitatud 30.11.2014 21:09:51 | | |
[30. november 2014 20:22:25]  [bassein www] PID 10383
script_filename = /test/forum.php
[0x00007fe08a61eba8] curl_exec() /test/allikas/funktsioon/function_filesock.php:68
[0x00007fe08a61e960] _dfsockopen() /test/allikas/funktsioon/function_core.php:201
[0x00007fe08a61e7c0] dfsockopen() /test/allikas/klass/class_image.php:123
[0x00007fe08a61e608] init() /test/allikas/klass/class_image.php:45
[0x00007fe08a61e2a8] Thumb() /test/source/function/function_block.php:410
[0x00007fe08a61e038] block_template() /test/allikas/funktsioon/function_block.php:177
[0x00007fe08a61def8] block_fetch_content() /test/allikas/funktsioon/function_block.php:120
[0x00007fe08a61de18] block_display_batch() /test/allikas/funktsioon/function_core.php:804
[0x00007fe08a61dbd0] block_display() /test/andmed/mall/3_diy_forum_discuz.tpl.php:29
[0x00007fe08a61d828] +++ dump ebaõnnestus

[30. november 2014 20:22:26]  [pool www] PID 10392
script_filename = /test/forum.php
[0x00007fe08a61eba8] curl_exec() /test/allikas/funktsioon/function_filesock.php:68
[0x00007fe08a61e960] _dfsockopen() /test/allikas/funktsioon/function_core.php:201
[0x00007fe08a61e7c0] dfsockopen() /test/allikas/klass/class_image.php:123
[0x00007fe08a61e608] init() /test/allikas/klass/class_image.php:45
[0x00007fe08a61e2a8] Thumb() /test/source/function/function_block.php:410
[0x00007fe08a61e038] block_template() /test/allikas/funktsioon/function_block.php:177
[0x00007fe08a61def8] block_fetch_content() /test/allikas/funktsioon/function_block.php:120
[0x00007fe08a61de18] block_display_batch() /test/allikas/funktsioon/function_core.php:804
[0x00007fe08a61dbd0] block_display() /test/andmed/mall/3_diy_forum_discuz.tpl.php:29
[0x00007fe08a61d828] +++ dump ebaõnnestus


Sa tead, mis on selle vea põhjus, ja aeglane päringu täitmine salvestab vea üle 5 sekundi, server nginx ja php-fpm





Eelmine:Õpetan sind kiiresti mõistma Discuz! failifunktsiooni ja edaspidi ei pea sa abi küsima failide muutmisel
Järgmine:[Kohustuslik varustus rongipiletite ostmiseks] 12306 Bypass ümbersuunamise piletite haaramine v1.5 roheline versioon
Postitatud 01.12.2014 12:20:49 |
[0x00007fe08a61eba8] curl_exec() /test/source/function/function_filesock.php:68 Real 68 on viga, mis saab ainult aidata :L
 Üürileandja| Postitatud 01.12.2014 13:45:36 |
Delver_Si Postitatud 2014-12-1 12:20
[0x00007fe08a61eba8] curl_exec() /test/source/function/function_filesock.php:68 Real 68 on viga, ainult ...

Sinu õde, ma tean ka, et see lause on vale, aga ma ei tea, milleks see dokument on
Postitatud 01.12.2014 21:01:08 |
/test/source/function/function_filesock.php  源代码给我
 Üürileandja| Postitatud 01.12.2014 21:14:41 |
Delver_Si Postitatud 2014-12-1 21:01
/test/source/function/function_filesock.php  源代码给我

[mw_shl_code=php,true]<?php

/**
* [Discuz!] (C)2001–2099 Comsenz Inc.
* See EI OLE tasuta tarkvara, kasutus sõltub litsentsitingimustest
*
* $Id: function_filesock.php 34441 2014-04-29 07:47:26Z nemohou $
*/

if(!defined('IN_DISCUZ')) {
        väljumine ('Juurdepääs keelatud');
}

funktsioon _dfsockopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = VÄÄR, $ip = '', $timeout = 15, $block = TRUE, $encodetype = 'URLENCODE', $allowcurl = TRUE, $position = 0, $files = massiivi( )) {
        $return = '';
        $matches = parse_url($url);
        $scheme = $matches['skeem'];
        $host = $matches['peremees'];
        $path = $matches['tee'] ? $matches['tee']. ($matches['päring'] ? '?'. $matches['päring'] : '') : '/';
        $port = !empty($matches['port']))? $matches['port'] : ($scheme == 'http' ? '80' : '');
        $boundary = $encodetype == 'URLENCODE'? '' : juhuslik (40);

        if($post) {
                if(!is_array($post)) {
                        parse_str($post, $post);
                }
                _format_postkey($post, $postnew);
                $post = $postnew;
        }
        if(function_exists('curl_init') && function_exists('curl_exec') && $allowcurl) {
                $ch = curl_init();
                $httpheader = massiiv();
                if($ip) {
                        $httpheader[] = "Saatejuht: ".$host;
                }
                if($httpheader) {
                        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
                }
                curl_setopt($ch, CURLOPT_URL, $scheme.'://'.( $ip? $ip : $host). ($port ? ':'.$port : '').$path);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, vale);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, vale);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, tõene);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, tõene);
                curl_setopt($ch, CURLOPT_HEADER, 1);
                if($post) {
                        curl_setopt($ch, CURLOPT_POST, 1);
                        if($encodetype == 'URLENCODE') {
                                curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                        } muidu {
                                foreach($post kui $k => $v) {
                                        if(isset($files[$k])) {
                                                $post[$k] = '@'.$files[$k];
                                        }
                                }
                                foreach($files kui $k => $file) {
                                        if(!isset($post[$k]) & & file_exists($file)) {
                                                $post[$k] = '@'.$file;
                                        }
                                }
                                curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                        }
                }
                if($cookie) {
                        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
                }
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
                curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
                $data = curl_exec($ch);
                $status = curl_getinfo($ch);
                $errno = curl_errno($ch);
                curl_close($ch);
                if($errno || $status['http_code'] != 200) {
                        tagasitulek;
                } muidu {
                        $GLOBALS['filesockheader'] = substr($data, 0, $status['header_size']);
                        $data = substr($data, $status['header_size']);
                        Tagasi !$limit ? $data : substr($data, 0, $limit);
                }
        }

        if($post) {
                if($encodetype == 'URLENCODE') {
                        $data = http_build_query($post);
                } muidu {
                        $data = '';
                        foreach($post kui $k => $v) {
                                $data .= "--$boundary\r\n";
                                $data .= 'Sisu-jaotus: vorm-andmed; nimi="'.$k.'"'. (isset($files[$k])? '; filename="'.basename($files[$k]).'"; Sisutüüp: rakendus/oktet-voog' : '')." \r\n\r\n";
                                $data .= $v." \r\n";
                        }
                        foreach($files kui $k => $file) {
                                if(!isset($post[$k]) & & file_exists($file)) {
                                        if($fp = @fopen($file, 'r')) {
                                                $v = fread($fp, failisuurus($file));
                                                fclose($fp);
                                                $data .= "--$boundary\r\n";
                                                $data .= 'Sisu-jaotus: vorm-andmed; name="'.$k.'"; filename="'.basename($file).'"; Sisutüüp: rakendus/oktet-voog'." \r\n\r\n";
                                                $data .= $v." \r\n";
                                        }
                                }
                        }
                        $data .= "--$boundary\r\n";
                }
                $out = "POST $path HTTP/1.0\r\n";
                $header = "Aktsepteeri: */*\r\n";
                $header .= "Aktsepteerimiskeel: zh-cn\r\n";
                $header .= $encodetype == 'URLENCODE'? "Content-Type: application/x-www-form-urlencoded\r\n" : "Content-Type: multipart/form-data; piiri=$boundary\r\n";
                $header .= 'Sisupikkus: '.strlen($data)." \r\n";
                $header .= "Kasutaja-agent: $_SERVER[HTTP_USER_AGENT]\r\n";
                $header .= "Saatejuht: $host:$port\r\n";
                $header .= "Ühendus: Lähedal\r\n";
                $header .= "Cache-Control: no-cache\r\n";
                $header .= "Küpsis: $cookie\r\n\r\n";
                $out .= $header;
                $out .= $data;
        } muidu {
                $out = "GET $path HTTP/1.0\r\n";
                $header = "Aktsepteeri: */*\r\n";
                $header .= "Aktsepteerimiskeel: zh-cn\r\n";
                $header .= "Kasutaja-agent: $_SERVER[HTTP_USER_AGENT]\r\n";
                $header .= "Saatejuht: $host:$port\r\n";
                $header .= "Ühendus: Lähedal\r\n";
                $header .= "Küpsis: $cookie\r\n\r\n";
                $out .= $header;
        }

        $fpflag = 0;
        if(!$fp = @fsocketopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {
                $context = massiiv(
                        'http' => massiivi(
                                'meetod' => $post ? 'POSTITA' : 'SAA',
                                'päis' => $header,
                                'content' => $post,
                                'timeout' => $timeout,
                        ),
                );
                $context = stream_context_create($context);
                $fp = @fopen($scheme.'://'.( $ip? $ip : $host).':'.$port.$path, 'b', väär, $context);
                $fpflag = 1;
        }

        if(!$fp) {
                tagasipöördumine '';
        } muidu {
                stream_set_blocking($fp, $block);
                stream_set_timeout($fp, $timeout);
                @fwrite($fp, $out);
                $status = stream_get_meta_data($fp);
                if(!$status['timed_out']) {
                        while (!feof($fp) && !$fpflag) {
                                $header = @fgets($fp);
                                $headers .= $header;
                                if($header && ($header == "\r\n" ||  $header == "\n")) {
                                        paus;
                                }
                        }
                        $GLOBALS['filesockheader'] = $headers;

                        if($position) {
                                for($i=0; $i<$position; $i++) {
                                        $char = fgetc($fp);
                                        if($char == "\n" && $oldchar != "\r") {
                                                $i++;
                                        }
                                        $oldchar = $char;
                                }
                        }

                        if($limit) {
                                $return = stream_get_contents($fp, $limit);
                        } muidu {
                                $return = stream_get_contents($fp);
                        }
                }
                @fclose($fp);
                tagasi $return;
        }
}

funktsioon _format_postkey($post, &$result, $key = '') {
        foreach($post kui $k => $v) {
                $_k = $key? $key.' ['.$k.']' : $k;
                if(is_array($v)) {
                        _format_postkey($v, $result, _k dollarit);
                } muidu {
                        $result[$_k] = $v;
                }
        }
}

?>[/mw_shl_code]
Postitatud 02.12.2014 00:08:32 |
Ma ei saa aru
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com