Hướng dẫn call to undefined function each php 8 - gọi đến hàm không xác định mỗi php 8

Đầu tiên tôi đã nhận được một cảnh báo và một lỗi nghiêm trọng. Cảnh báo:

Warning:  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

Sau đó, tôi thay thế tiếp tục bằng giờ nghỉ và cảnh báo biến mất. Nhưng ngay cả sau khi thay thế, lỗi nghiêm trọng vẫn xảy ra. Lỗi chết người:

PHP Fatal error:  Uncaught Error: Call to undefined function each() in D:\xampp\php\pear\PHPUnit\Util\Getopt.php:80
Stack trace:
#0 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
  thrown in D:\xampp\php\pear\PHPUnit\Util\Getopt.php on line 80

Fatal error: Uncaught Error: Call to undefined function each() in D:\xampp\php\pear\PHPUnit\Util\Getopt.php:80
Stack trace:
#0 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()

Dòng 77-83 của getopt.php

        reset($args);
        array_map('trim', $args);

        while (list($i, $arg) = each($args)) {
            if ($arg == '') {
                continue;
            }

Tôi đang sử dụng Php 8.0.1 và Phpunit 9 (ít nhất tôi nghĩ, vì tôi không thể sử dụng các lệnh để kiểm tra và tôi đã tải xuống sau ngày 7 tháng 2)

Tôi đang nâng cấp lên Php 8 và nhận được lỗi khi tôi cố gắng lập chỉ mục tìm kiếm. Nó có liên quan đến hàm mỗi () rõ ràng không được dùng trong Php 8 và xuất hiện nhiều lần trong tệp. Tôi hiểu rằng foreach () nên thay thế nó, nhưng nó nên được viết lại như thế nào trong bối cảnh của hàm?
I understand that foreach() should replace it, but how should that be rewritten in the context of the function?

function apachesolr_multilingual_date_default_indexing_callback_implementation($entity, $field_name, $index_key, array $field_info) {
  $fields = array();
  if (!empty($entity->{$field_name})) {
    $field = $entity->$field_name;
    $values = array();
    if (array_key_exists($entity->language, $field) && is_array($field[$entity->language])) {
      $values = $field[$entity->language];
    }
    else {
      list($lang, $values) = each($field);
      if (!is_array($values)) {
        $values = array();
      }
    }

Cảm ơn,

Sử dụng each() trong Php 7.4 gây ra thông báo cảnh báo sau.

Không dùng nữa: hàm mỗi () được không dùng nữa

Trong Php 8, nó gây ra ngoại lệ sau.

Lỗi gây tử vong: Lỗi không bị bắt: Gọi đến hàm không xác định mỗi ()

Mã PHP không nên sử dụng each().

  • WP 5.6 và sau khi nâng cấp lên Php 8 sau xảy ra lỗi:

    (bị loại bỏ đường dẫn)

    [STDERR] PHP
    Fatal error:  Uncaught Error: Call to undefined function mysql_connect()
    in
    wp-db.php:1688
    Stack trace:
    #0
    wp-db.php(632):
    wpdb->db_connect()
    #1
    load.php(527):
    wpdb->__construct()
    #2
    wp-settings.php(124):
    require_wp_db()
    #3
    wp-config.php(88):
    require_once('/home/khaotipth...')
    wp-load.php(37):
    require_once('/home/khaotipth...')
    #5
    wp-blog-header.php(13):
    require_once('/home/khaotipth...')
    index.php(17):
    require('/home/khaotipth...')
    #7 {main}
       thrown in
    wp-db.php
    on line 1688

    Đã vô hiệu hóa tất cả các plugin và thay đổi thành hai mươi hai mươi mốt (Twentytwentyone).

    Phiên bản 5.6 Ngôn ngữ trang web SV_SE Ngôn ngữ người dùng EN_US Timezone Châu Âu/Stockholm Permalink Cấu trúc/%Thể loại%/%PostName%/Trang web này có sử dụng HTTPS không? Vâng, đây là một đa? Không ai có thể đăng ký trên trang web này? Không, trang web này làm nản lòng các công cụ tìm kiếm? Có Bình luận mặc định Trạng thái đóng cửa Môi trường đóng cửa Sản xuất Số lượng người dùng 6 Giao tiếp với WordPress.org WordPress.org có thể truy cập được
    Site Language sv_SE
    User Language en_US
    Timezone Europe/Stockholm
    Permalink structure /%category%/%postname%/
    Is this site using HTTPS? Yes
    Is this a multisite? No
    Can anyone register on this site? No
    Is this site discouraging search engines? Yes
    Default comment status Closed
    Environment type production
    User count 6
    Communication with WordPress.org WordPress.org is reachable

    Maria DB 10.3 và nhà cung cấp dịch vụ lưu trữ sử dụng Cloudlinux và vâng, tôi biết về khả năng tương thích beta cho PHP8 trong WP 5.6
    And yes I am aware of beta compatibility for PHP8 in WP 5.6

    Cảm ơn

  • Mô tả lỗi

    Chỉ cần chuyển sang Php 8 với phiên bản Statamic mới nhất và trong khi Frontend hoạt động tốt, khi cố gắng truy cập phần phụ trợ, tôi nhận được lỗi sau 500:

    [2021-06-10 14:52:54] live.ERROR: Call to undefined function Statamic\Console\Processes\set_time_limit() {"exception":"[object] (Error(code: 0): Call to undefined function Statamic\\Console\\Processes\\set_time_limit() at /home/webapps/stellaprojects/releases/20210610145136/vendor/statamic/cms/src/Console/Processes/Process.php:223)
    

    Làm thế nào để sinh sản

    Tôi thực sự chỉ chuyển sang Php 8 trên máy chủ sản xuất của mình.Trước đó, tôi cũng đã thay đổi các đường dẫn thành các thư mục nội dung trong tệp stache.php của mình.Các con đường trông như thế này: 'directory' => base_path('../../content/taxonomies'),.

    Môi trường

    Statamic 3.1.21 Pro Laravel 8.46.0 Php 7.4.20 (đó là Php 8 khi xảy ra lỗi)/Statamic-inline-Assets 4.0.3 PECOTAMIC/SITEMAP 1.2.3
    Laravel 8.46.0
    PHP 7.4.20 (it was PHP 8 when the error occured)
    aryehraber/statamic-captcha 1.5.1
    jonassiewertsen/statamic-livewire 2.5.0
    mitydigital/statamic-tinymce-cloud 1.0.3
    octoper/statamic-inline-assets 4.0.3
    pecotamic/sitemap 1.2.3

    Phương pháp cài đặt:

    • Ứng dụng Laravel hiện có