Thủ thuật Website

Sửa lỗi Exec-PHP (Plugin WordPress) Với PHP 7.2

Bài đăng này là về

Bài đăng này là về sửa lỗi của plugin ” Exec-PHP ” chạy trong WordPress mới nhất với PHP 7.2.

Chuyện gì đã xảy ra thế

Tôi đã nâng cấp phiên bản PHP từ 5.6 lên 7.2 trong máy chủ lưu trữ các trang web WordPress cho khách hàng của tôi vào ngày hôm trước.

Một trong những trang web đã sử dụng Exec-PHP cho phép chúng tôi thực thi mã PHP trực tiếp trong các bài đăng hoặc trang.

Thật không may, nó đã lỗi thời.
Lần cập nhật cuối cùng là 9 năm trước và nó dựa trên PHP dưới 7 tuổi.
Plugin này đã chính thức không được dùng nữa vì vấn đề bảo mật và đã biến mất khỏi các trang Plugin WordPress kể từ cuối năm ngoái.

Dù sao, khách hàng của tôi đã sử dụng nó và dịch vụ vẫn đang hoạt động.
Tôi cần tìm cách thực hiện cả việc di chuyển máy chủ và tiếp tục dịch vụ.

Tại sao nó lỗi

Đó là do một trong những thay đổi không tương thích ngược của PHP 7.0, đó là:
” Không thể gán các đối tượng mới bằng tham chiếu “.
Điều này bị cấm:

class C {}
$c =& new C;

Làm thế nào để sửa chữa nó

Sử dụng plugin thay thế

Đó sẽ là một cách gần như lý tưởng nếu thứ gì đó được tìm thấy.

Sửa đổi mã plugin trực tiếp

Xóa ‘&’ khỏi ‘= &’ như thế này:

- $c =& new C;
+ $c = new C;

Tất cả các mục tiêu đều nằm trong wordpress/wp-content/plugins/exec-php:

  • exec-php.php
    • dòng 22
  • include/admin.php
    • dòng 53, 56, 57, 63, 64, 79
  • includes/ajax.php
    • dòng 64
  • includes/cache.php
    • dòng 22, 39
  • includes/manager.php
    • dòng 36, 37, 38, 39

Ví dụ: sửa đổi exec-php.phpdòng 22 như thế này:

- $GLOBALS['g_execphp_manager'] =& new ExecPhp_Manager();
+ $GLOBALS['g_execphp_manager'] = new ExecPhp_Manager();

Sau tất cả sửa đổi và thử nghiệm

Trang web WordPress hoạt động tốt với Exec-PHP được sửa đổi như nó đã có.
Khách hàng của tôi hài lòng với máy chủ mới cho đến nay:)

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button