דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
chagoldC

chagold

@chagold
אודות
פוסטים
2.4k
נושאים
496
קבוצות
0
עוקבים
3
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • מהו הלוח תשלומים עבור פרויקט
    chagoldC chagold

    @avi-rz https://tchumim.com/topic/6209


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    @yossiz תודה רבה!
    זנ כנראה לא הבעיה. (והא ראיה שעבד לי הגישה לcmd).
    אבל לו הייתי יודע על הפוסט בסטאק הייתי מראש מוותר על nginx בלוקאלי. (או מתקין לינוקס בלוקלי?😕 ).
    עכ"פ חזרתי עכשיו לאפאצי שהיה לי, ונראה אם אני יסתדר בהמשך.


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    התקרבתי לפתרון. לא יודע איך לחצות את הגשר.
    ניסיתי לבדוק אם הPHP יריץ את הפקודה cmd זה כן יעבוד. והתברר שהבקשה עצמה תקינה, (והיא גם מדפיסה את התגובה לקובץ c:\url_response.txt), היא רק לא מחזירה את הפלט לתוכנת הPHP שביקשה אותה.
    זה הפקודה

        function createFullSystem() {
            $urlFile = 'C:\\url_command.txt';
            $batchFile = 'C:\\url_runner.bat';
            $outputFile = 'C:\\url_response.txt';
            
            $url = "http://g-in.com:200/index.php?" . http_build_query([
                'format' => 'json',
                'p' => 'chack_token_to_sp',
                'Module' => 'sub_projects',
                'token_sub_project' => 'kjsadouewio',
                'token_user' => 'AIAvo7yAhWqMrQJl271P',
                'nick' => 'administrator'
            ]);
            
            file_put_contents($urlFile, $url);
            
            $batchContent = "@echo off\n";
            $batchContent .= "cd C:\\tools\n";
            $batchContent .= "set /p URL=<" . $urlFile . "\n";
            // בדיוק אותה פקודה שעובדת ב-CMD
            $batchContent .= "C:\\Windows\\System32\\curl.exe -v -H \"User-Agent: PHP/cURL\" --connect-timeout 10 -m 10 \"%URL%\" > " . $outputFile . " 2>&1\n";
            $batchContent .= "exit\n";
            
            file_put_contents($batchFile, $batchContent);
            
            $descriptorspec = array(
                0 => array("pipe", "r"),
                1 => array("pipe", "w"),
                2 => array("pipe", "w")
            );
            
            $process = proc_open("cmd /c " . $batchFile, $descriptorspec, $pipes);
            
            if (is_resource($process)) {
                stream_set_blocking($pipes[1], 0);
                stream_set_blocking($pipes[2], 0);
                
                $start = time();
                $timeout = 1;
                
                do {
                    $status = proc_get_status($process);
                    if (!$status['running']) {
                        break;
                    }
                    if (time() - $start > $timeout) {
                        proc_terminate($process);
                        echo "Process terminated due to timeout\n";
                        break;
                    }
                    sleep(1);
                } while (true);
                
                fclose($pipes[0]);
                fclose($pipes[1]);
                fclose($pipes[2]);
                proc_close($process);
            }
            
            if(file_exists($outputFile)) {
                echo "Response from server:\n";
                echo file_get_contents($outputFile);
            }
        }
    

  • איך אני מתכנת קורא כרטיסם EMV
    chagoldC chagold

    https://he.aliexpress.com/item/1005008263708810.html?spm=a2g0o.detail.pcDetailTopMoreOtherSeller.12.2e8eu7SSu7SSER&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40196.366991.0&scm_id=1007.40196.366991.0&scm-url=1007.40196.366991.0&pvid=68056091-3918-4744-8504-f2ca3e8df7d4&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40196.366991.0,pvid:68056091-3918-4744-8504-f2ca3e8df7d4,tpp_buckets:668%232846%238107%231934&pdp_npi=4%40dis!ILS!22.38!18.33!!!43.66!35.76!%402141001d17354107094283732e9649!12000044408826047!rec!IL!!ABX&utparam-url=scene%3ApcDetailTopMoreOtherSeller|query_from%3A#nav-specification:~:text=בבקשה לבקש את התוכנה מספק כרטיס החכם


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    זה לוג רק של שגיאות.
    הוא נוצר באמצעות הקוד הזה -

    c:\tools\nssm.exe set PHP-FPM AppParameters "-b 127.0.0.1:9000 -d error_log=C:/php/logs/php-fpm.log -d display_errors=1 -d log_errors=1 -d error_reporting=E_ALL"
    

    לא הצלחתי לעשות לוג של כל הבקשות

    # nginx.conf - Combined Configuration
    
    worker_processes  1024;
    
    error_log  "C:/nginx/logs/error.log";
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       "C:/nginx/conf/mime.types";
        
    
        default_type  application/octet-stream;
        charset utf-8;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                         '$status $body_bytes_sent "$http_referer" '
                         '"$http_user_agent" "$http_x_forwarded_for"';
    
        log_format  debug  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for" '
                       'rt=$request_time ua="$upstream_addr" '
                       'us="$upstream_status" ut="$upstream_response_time" '
                       'ul="$upstream_response_length" '
                       'cs=$upstream_cache_status';
    
    access_log  logs/access.log  debug;
    
        access_log  "C:/nginx/logs/access.log"  main;
    
        sendfile        on;
        keepalive_timeout  65;
    
        # FastCGI Settings
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    
        # Default server (port 80)
        server {
            charset utf-8;
            listen 80;
            server_name localhost;
            root C:/xampp/reko;
            
            location / {
                index index.php index.html index.htm;
                try_files $uri $uri/ /index.php?$args;
                autoindex on;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    
        # Port 200 server (reko)
        server {
            listen 200;
            server_name localhost;
            root C:/xampp/reko;
            
            location / {
                index index.php index.html index.htm;
                try_files $uri $uri/ /index.php?$args;
                autoindex on;
                proxy_connect_timeout 10;
                proxy_send_timeout 10;
                proxy_read_timeout 10;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    
    
    }
    

    והקונפיגורציה של php-fpm

    [global]
    pid = C:/nginx/php-fpm.pid
    error_log = C:/php/logs/php-fpm.log
    
    [www]
    listen = 127.0.0.1:9000
    listen.allowed_clients = 127.0.0.1
    user = nobody
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    access.log = C:/php/logs/php-fpm-access.log
    catch_workers_output = yes
    

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    אבל לא התוים הנוספים הם הסיבה. כי עשיתי טסט בלי פרמטרים בכלל. ועדיין..

    [26-Dec-2024 08:08:38 UTC] PHP Warning:  file_get_contents(http://g-in.com:200/index.php): Failed to open stream: HTTP request failed! in C:\xampp\file.php on line 340
    [26-Dec-2024 08:08:38 UTC] API call failed: Failed to get contents
    

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    רק עכשיו הצלחתי לגרום לו לכתוב את הלוגים של php-fpm.
    תכלס, הלוג מדפיס רק את הבקשה של @dovid את שלי הוא לא מדפיס.
    אבל במה שהוא מדפיס נוסף טקסט 'amp;' כמה פעמים.

    [26-Dec-2024 07:52:20 UTC] PHP Warning:  file_get_contents(http://g-in.com:200/index.php?format=json&amp;p=chack_token_to_sp&amp;Module=sub_projects&amp;token_sub_project=kjsadouewio&amp;token_user=AIAvo7yAhWqMrQJl271P&amp;nick=administrator): Failed to open stream: HTTP request failed! in C:\xampp\file.php on line 339
    [26-Dec-2024 07:52:20 UTC] API call failed: Failed to get contents
    
    

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    זה מוגדר עם php-fpm.

    image.png

    אבל הוא לא כותב ללוגים שלו כלום.
    לא בבקשה מהURL ולא מהPHP.


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    רק עכשיו הצלחתי להבין מה הסיבה לכל שורה בלוגים של הnginx.

    כשאני פונה מהURL (=בגוגל כרום, מה שחוזר תקין) יוצא מה שכתוב בשורה 1 ו-2. (לא יודע למה הוא מדפיס 2 שורות כאילו זה 2 בקשות).
    שורה 4 זה הבקשה בצורה ש@dovid אמר לי לעשות באמצעות file_get_contents, ושורה 5 זה הבקשה באמצעות curl.
    לא יודע למה בשורה 1,4,5 הוא לא כותב את כל הדומיין אלא מתחיל מה-index.php.

    127.0.0.1 - - [24/Dec/2024:23:36:44 +0200] "GET /index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator HTTP/1.1" 200 104 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" "-"
    127.0.0.1 - - [24/Dec/2024:23:36:45 +0200] "GET /favicon.ico HTTP/1.1" 200 38672 "http://g-in.com:200/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" "-"
    
    127.0.0.1 - - [24/Dec/2024:23:37:56 +0200] "GET /index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator HTTP/1.1" 499 0 "-" "-" "-"
    127.0.0.1 - - [24/Dec/2024:23:38:06 +0200] "GET /index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator HTTP/1.1" 499 0 "-" "PHP/cURL" "-"
    

    @yossiz איפה אני מוצא את הלוגים של php-fpm? בתיקיית PHP אין לי בכלל תיקיית משנה של logs.


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    לכאו' הוא לא מקבל את הבקשה בכלל. (הדפסתי ללוג ובבקשה הרלוונטית הוא לא מדפיס, ובבקשות האחרות כן).


  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold
    Warning: file_get_contents(http://g-in.com:200/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator): Failed to open stream: HTTP request failed! in C:\xampp\file.php on line 338
    

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold
    Warning: file_get_contents(http:\/\/g-in.com:200\/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator): Failed to open stream: No such file or directory in C:\xampp\file.php on line 338
    

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP
    chagoldC chagold

    משהו מוזר.
    יש לי כתובת URL (לוקאלי) שכשאני ניגש אליה מכרום או בפקודת cURL מהcmd התגובה תקינה, אבל כשאני ניגש אליה מקוד PHP הוא לא מגיב ונתקע בטיימאוט.

    הפונקציה בPHP היא:

    function makeAPIRequest($url) {
            // Initialize cURL session
            $curl = curl_init();
            
            // Enable verbose debug output
            $verbose = fopen('php://temp', 'w+');
            curl_setopt($curl, CURLOPT_STDERR, $verbose);
            curl_setopt($curl, CURLOPT_VERBOSE, true);
            // Set cURL options
            curl_setopt_array($curl, [
                CURLOPT_URL => $url,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => "GET",
                CURLOPT_VERBOSE => true,
                CURLOPT_STDERR => $verbose,
                CURLOPT_USERAGENT => 'PHP/cURL',
                CURLOPT_INTERFACE => "127.0.0.1",
                CURLOPT_PROTOCOLS => CURLPROTO_HTTP,
                CURLOPT_TIMEOUT => 10,            // הקטנתי את הtimeout
                CURLOPT_CONNECTTIMEOUT => 5,      // הוספתי timeout להתחברות
                CURLOPT_TCP_NODELAY => true,      // נסה למנוע buffering
                CURLOPT_FORBID_REUSE => true,     // מנע שימוש חוזר בחיבור
                CURLOPT_FRESH_CONNECT => true,    // אכוף חיבור חדש
                CURLOPT_HTTPHEADER => [
                    "Accept: application/json",
                    "Cache-Control: no-cache",
                    "Connection: close",           // שיניתי ל-close
    
                ],
            ]);
            
            // Log request start time
            $startTime = microtime(true);
            
            // Execute cURL request
            $response = curl_exec($curl);
            
            // Calculate request duration
            $duration = microtime(true) - $startTime;
            
            // Get request info
            $info = curl_getinfo($curl);
            
            // If there's an error, get verbose debug information
            if ($response === false) {
                rewind($verbose);
                $verboseLog = stream_get_contents($verbose);
                
                $errorDetails = [
                    'error' => curl_error($curl),
                    'error_no' => curl_errno($curl),
                    'info' => $info,
                    'verbose_log' => $verboseLog,
                    'duration' => $duration,
                    'url' => $url
                ];
                
                fclose($verbose);
                curl_close($curl);
                
                throw new Exception("cURL Error: " . json_encode($errorDetails, JSON_PRETTY_PRINT));
            }
            
            // Close resources
            fclose($verbose);
            curl_close($curl);
            
            // Log success information
            error_log(sprintf(
                "API Request successful - URL: %s, Duration: %.2fs, Status: %d, Size: %d bytes",
                $url,
                $duration,
                $info['http_code'],
                $info['size_download']
            ));
            
            // Decode JSON response
            $decodedResponse = json_decode($response, true);
            
            if (json_last_error() !== JSON_ERROR_NONE) {
                throw new Exception(sprintf(
                    "JSON Decode Error: %s. Raw response: %s",
                    json_last_error_msg(),
                    substr($response, 0, 1000)
                ));
            }
            
            return $decodedResponse;
        }
    

    שרת האינטרנט nginx. (עדכון: בדקתי גם באפאצי וזה ג"כ נתקע ).
    בלוגים הוא ניגש לnginx

    127.0.0.1 - - [24/Dec/2024:16:06:05 +0200] "GET /index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator HTTP/1.1" 499 0 "-" "PHP/cURL"
    

    אבל מאיזשהו סיבה הוא נתקע אח"כ.

    והתגובה היא:

    Error: cURL Error: { "error": "Operation timed out after 10016 milliseconds with 0 bytes received", "error_no": 28, "info": { "url": "http:\/\/g-in.com:200\/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator", "content_type": null, "http_code": 0, "header_size": 0, "request_size": 278, "filetime": -1, "ssl_verify_result": 0, "redirect_count": 0, "total_time": 10.016296, "namelookup_time": 0.001899, "connect_time": 0.002136, "pretransfer_time": 0.002204, "size_upload": 0, "size_download": 0, "speed_download": 0, "speed_upload": 0, "download_content_length": -1, "upload_content_length": 0, "starttransfer_time": 0, "redirect_time": 0, "redirect_url": "", "primary_ip": "127.0.0.1", "certinfo": [], "primary_port": 200, "local_ip": "127.0.0.1", "local_port": 52303, "http_version": 0, "protocol": 1, "ssl_verifyresult": 0, "scheme": "http", "appconnect_time_us": 0, "connect_time_us": 2136, "namelookup_time_us": 1899, "pretransfer_time_us": 2204, "redirect_time_us": 0, "starttransfer_time_us": 0, "posttransfer_time_us": 2214, "total_time_us": 10016296, "effective_method": "GET", "capath": "", "cainfo": "" }, "verbose_log": "* Host g-in.com:200 was resolved.\n* IPv6: (none)\n* IPv4: 127.0.0.1\n* Trying 127.0.0.1:200...\n* Name '127.0.0.1' family 2 resolved to '127.0.0.1' family 2\n* Local port: 0\n* Connected to g-in.com (127.0.0.1) port 200\n* using HTTP\/1.x\n> GET \/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator HTTP\/1.1\r\nHost: g-in.com:200\r\nUser-Agent: PHP\/cURL\r\nAccept: application\/json\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n* Request completely sent off\n* Operation timed out after 10016 milliseconds with 0 bytes received\n* closing connection #0\n", "duration": 10.016844987869263, "url": "http:\/\/g-in.com:200\/index.php?format=json&p=chack_token_to_sp&Module=sub_projects&token_sub_project=kjsadouewio&token_user=AIAvo7yAhWqMrQJl271P&nick=administrator" }
    

  • לתכנת דף PHP שיתחבר לקורא כרטיסים
    chagoldC chagold

    @barbar לפעמים פריטים כאלו מגיעים אם אישזהו תוכנה (אולי בדיסק) שאפשר להשתמש בפונקציות שלה באיזשהו צורה. גם אם לא PHP ישירות.


  • זיהוי אקרודים בפייתון
    chagoldC chagold

    דרך לזיהוי אקורדים או רק בפייתון?


  • איפה משתמשי נטפרי יכולים להתעדכן במצב בזמן אמת?
    chagoldC chagold

    אפליקציית צופר ואתר פיקוד העורף


  • דרוש מידע על מחשב מרוחק בענן שניתן להתקין עליו סינון אינטרנט
    chagoldC chagold

    וינדוס או לינוקס?
    זה יכול להתאים?

    ותראה


  • עזרה עם שרת שהתחיל לעבוד בצורה מאוד איטית
    chagoldC chagold

    תכתוב בקונסול top


  • הוצאת נתונים מדוח שעון נוכחות
    chagoldC chagold

    עשיתי גוגל שיט, עם גוגל סקריפט שיוצר לשונית של ניתוח נוכחות (כשלוחצים על הכפתור 'ניתוח נוכחות')
    https://docs.google.com/spreadsheets/d/1Pa8CheRXgVoyvEKLcuHhKWi0dcTMv_1PZwdYA5C6d4Q/edit?gid=1196887316
    תבדוק אם זה עונה על צרכיך.

    נ.ב. משום מה זה הוגדר בנטפרי כקובץ שהתפרסם לציבור, אולי כי הלינק מוגדר עכשיו (בשביל הפרסום בפורום) שכל מי שיש לו את זה יכול לפתוח, עכ"פ שלחתי פניה לפתוח את זה.

    נ.ב. 2 כמובן שהקרדיט לclaude.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 119
  • 120
  • 1 / 120
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום