Các phần mở rộng và thư viện PHP cần và / hoặc sử dụng WP là gì?


79

Codex lỏng lẻo chỉ đề cập đến phiên bản PHP trong các yêu cầu máy chủ , tuy nhiên PHP có thể được cấu hình trong phạm vi khá rộng để loại trừ / bao gồm các phần khác nhau.

Tiện ích mở rộng / thư viện là gì:

  1. WP có cần thiết để làm việc không? MySQL ...
  2. được yêu cầu cho các chức năng cụ thể? GD? ...
  3. được ưa thích cho hoạt động tốt nhất của các chức năng cụ thể? Xoăn...
  4. thường được sử dụng bởi các plugin? Zip ...

Bạn có biết rằng có một lỗi SSL trên trang web của bạn ( queryposts.com ) không?
Tôi là người ngu ngốc nhất

@IamtheMostStoolPerson cảm ơn bạn, việc gia hạn chứng chỉ tự động đã thất bại ở đó vì một số lý do, nên được khắc phục ngay bây giờ.
Rarst

Đừng lo lắng, đó là Let Encrypt. không phải sao? Tôi nghĩ rằng nó tự động gia hạn ... Trong trường hợp nếu nó không tự động gia hạn như trường hợp của bạn, chúng ta có thể làm gì?
Tôi là người ngu ngốc nhất

Hỗ trợ lưu trữ @IamtheMostStoolPerson đã thiết lập lại nó (nó được thiết lập thông qua tích hợp của họ), nó thường tự động gia hạn cho tôi.
Rarst

Rất khó tìm, nhưng có một khuyến nghị chính thức: make.wordpress.org/hosting/handbook/handbook/server-en môi / trộm
Aidanh010

Câu trả lời:


90

Tôi đã suy nghĩ thêm và đưa ra kích thước cơ sở mã WP (bao gồm các thư viện đi kèm) có vẻ không thực tế khi biên dịch danh sách đó bằng tay (và lặp lại nó cho mọi phiên bản mới - meh).

Tôi đã tra cứu công cụ phân tích mã tĩnh thích hợp - PHP_CompatInfo và sau khi một số báo cáo được tạo ra sau báo cáo về các tiện ích mở rộng được sử dụng bởi lõi (phiên bản được quét 3.3.1):

  • cURL - 127 sử dụng (yêu cầu libcurl )

    • API HTTP (lớp WP_Http_curl)
    • url_is_accessable_via_ssl()
    • SimplePie (ghi đè với lớp WP_SimplePie_File)
    • GoogleSpell (từ gói TinyMCE, không được sử dụng?)
  • Ngày / Thời gian - 367 lần sử dụng

  • DOM - 6 sử dụng (yêu cầu libxml )

    • iis7_rewrite_rule_exists()
    • iis7_delete_rewrite_rule()
    • iis7_add_rewrite_rule()
    • saveDomDocument()
  • POSIX Regex - 23 sử dụng

  • Bộ lọc - 2 công dụng

    • lớp học PHPMailer->ValidateAddress()(tùy chọn)
  • Sử dụng FTP - 72

    • lớp học ftp_base
    • lớp ftp( phiên bản thuần túyổ cắm )
    • lớp học WP_Filesystem_FTPext
    • lớp học WP_Filesystem_ftpsockets
  • GD - 56 sử dụng

    • wp-admin\includes\image-edit.php
    • wp-admin\includes\image.php
    • wp-includes\media.php
  • Hash - 6 công dụng

    • wp-includes\pluggable.phpsử dụng nhiều lần (tùy chọn - dự phòng wp-includes\compat.php)
  • iconv - 5 công dụng

    • lớp học SimplePie(tùy chọn)
    • wp_check_invalid_utf8() (không bắt buộc)
    • wp-mail.php (không bắt buộc)
  • JSON - 20 sử dụng

    • tùy chọn, dự phòng wp-includes/compat.php
  • libxml - 4 công dụng

    • lớp học WP_oEmbed->_parse_xml()(tùy chọn)
    • SimplePie
  • Chuỗi đa bào - 29 sử dụng

    • một số dự phòng trong wp-includes/compat.php
  • MySQL - 60 sử dụng

    • lớp học wpdb
    • lớpSimplePie_Cache (ghi đè với lớp WP_Feed_Cache)
  • OpenSSL - 4 lần sử dụng

    • lớp học PHPMailer
  • PCRE - 743 sử dụng

  • SimpleXML - 1 lần sử dụng

    • lớp học WP_oEmbed(dường như không bắt buộc)
  • Ổ cắm - 64 công dụng

    • lớp ftp( socketsthực hiện)
  • SPL - 3 lần sử dụng

  • Mã thông báo - 3 lần sử dụng

    • wp_doc_link_parse() (không bắt buộc)
  • Trình phân tích cú pháp XML - 89 sử dụng

  • XMLReader - 1 sử dụng

    • SimplePie (dường như không bắt buộc)
  • Zlib - 30 công dụng


4
Tài nguyên lớn. May mắn thay, hầu hết các phần mở rộng và thư viện ở trên hiện được biên dịch theo mặc định với PHP 5.2.4 trở lên.
Chris_O

@Chris_O miễn là theo mặc định được theo dõi ... Người ta đã nói nhiều lần bởi nhóm nòng cốt rằng có một số cấu hình PHP nhỏ bé ngoài kia. Điều khiến tôi đặt ra câu hỏi này là VPS đã được mua tại nơi làm việc từ nhà cung cấp dịch vụ lưu trữ mới và không ngờ nó có cấu hình rất tối thiểu với một số tiện ích mở rộng điển hình bị thiếu. Sẽ thuận tiện hơn khi cung cấp hỗ trợ với danh sách kiểm tra các tiện ích mở rộng như vậy, sau đó khám phá và yêu cầu chúng được cài đặt từng cái một.
Hết

Lib nào được sử dụng để giải nén các chủ đề và plugin?
jgraup

1
@jgraup ZipArchive hoặc PclZip xem các chức năng giải nén liên quan queryposts.com/?s=unzip_file
Rarst

1
Với v4.7 và hình thu nhỏ / xem trước PDF gốc mới, máy chủ của bạn cần hỗ trợ Imagick, ImageMagick và Ghostscript.
j08691 ngày

26

Câu trả lời cho điều này có thể phức tạp và rất dài, theo như tôi biết, cũng sẽ có một số khác biệt giữa máy chủ & HĐH (IIS, Apache) .. Tôi không thể nói rằng danh sách sau đây là danh sách ĐẦY ĐỦ, nhưng nó bao gồm một số trong những người tôi biết là bắt buộc:

  • Curl và CurlSSL - Không chắc chắn đó là BẮT BUỘC nhưng phần lớn mã WordPress sẽ sử dụng nó nếu có sẵn. Tuy nhiên, nhiều plugin yêu cầu và / hoặc sẽ có các chức năng giới hạn mà không có nó.

  • Exif - cho phép trình xử lý phương tiện của WordPress lấy dữ liệu Exif ra khỏi hình ảnh.

  • Gettext - .po .mo xử lý bản địa hóa dịch thuật quốc tế hóa ..

  • FTP - được sử dụng để thực hiện nâng cấp plugin và WordPress thông qua FTP.

  • GD - Không cần giới thiệu, phải không?

  • Iconv - bộ chuyển đổi bộ ký tự cho mọi thứ, từ thư đến phân tích RSS.

  • Mbregex và Mbopes - cái tên khá mô tả - cung cấp các chức năng được sử dụng ở mọi nơi :-)

  • Mcrypt - Không cần thiết cho wordpress, nhưng nhiều plugin cần nó.

  • Mime Magic - Không dùng nữa trong wordpress - nhưng vẫn tốt để có khả năng tương thích trở lại.

  • * Mysql và Mysql của hệ thống * - tất cả chúng ta đều biết đây là gì và tại sao lại cần thiết, phải không?

  • Openssl - Thư viện này được sử dụng để xử lý các kết nối được mã hóa bằng chứng chỉ SSL cho WordPress để có thể kết nối với bất kỳ vị trí được mã hóa SSL (https) nào.

  • POSIX - được sử dụng để đảm bảo rằng WordPress duy trì đúng quyền và quyền sở hữu tệp.

  • Kiểm tra thông tin đường dẫn - một số thiết lập permalink.

  • Pspell - khả năng kiểm tra chính tả cho TinyMCE ,.

  • Ổ cắm - quản lý kết nối FTP và xử lý thư AKA SMTP và POP trong WordPress.

  • Zip - Không chắc chắn nếu BẮT BUỘC - nhưng lớp tạo và trích xuất tệp zip tương thích đa nền tảng này SILL được sử dụng bởi wordpress nếu có.

  • Zlib - Được sử dụng trong nhiều trường hợp. ví dụ - nén tập tin js và css. một lần nữa, không chắc chắn nếu BẮT BUỘC nhưng cần thiết.

Giống như ở trên đã nêu - đây không phải là danh sách ĐẦY ĐỦ - Nó được tổng hợp khoảng một năm trước - và nó có thể cần một số cập nhật. Nhiều trong số các chức năng đó không chính xác BẮT BUỘC nhưng được TƯ VẤN . Trong nhiều trường hợp, wordpress sẽ sử dụng một hàm NẾU nó có sẵn, và nếu không, sẽ bỏ qua tác vụ. Một ví dụ điển hình là việc thiếu thư viện GD, nó sẽ không ngăn wordpress hoạt động, nhưng nó sẽ không cắt, thay đổi kích thước hoặc thay đổi các hình ảnh được tải lên - do đó để lại tùy chọn "kích thước" ban đầu trong "chèn" hình ảnh để đăng "chức năng) ..

Như một lưu ý phụ - tôi cũng sẽ nói rằng có lẽ câu hỏi này có thể sẽ nhận được nhiều câu trả lời đúng / cập nhật hơn trên serverfault.com hơn ở đây ...


Tại sao điều này không có ở đâu trên trang web Wordpress?
Tadej

13

( Đây không phải là một câu trả lời. Chỉ là một số thông tin hữu ích. Nếu bạn nghĩ thông tin này không hữu ích, hãy cho tôi biết, tôi sẽ xóa nó đi.)

Tôi nghĩ rằng nói về các gói sẽ dễ dàng hơn cho người mới, nhưng vì các gói khác nhau tùy theo hệ thống, thật khó để bao quát tất cả chúng.

Khi tôi có kinh nghiệm với Debian (các bản phân phối dựa trên Debian), tôi muốn chia sẻ thông tin cụ thể này:

  • php5-cli
  • php5-dev
  • php5-fpm
  • php5-cgi
  • php5-mysql
  • php5-xmlrpc
  • php5-curl
  • php5-gd
  • php-apc (không bắt buộc, nhưng được khuyến nghị)
  • lê-lê
  • php5-imap
  • php5-mcrypt
  • php5-pspell

Các gói nói trên cài đặt tất cả các phần mở rộng / thư viện / mô-đun được đề cập trong các câu trả lời khác; tất cả, ngoại trừ Mime Magic, không còn được yêu cầu bởi WordPress .

Một cách tốt khác để đảm bảo máy chủ của bạn tương thích 100% với WordPress là kiểm tra các gói mà các công ty lưu trữ được quản lý cài đặt sẵn. Khi họ có nhiều năm kinh nghiệm với các khiếu nại của khách hàng về sự không tương thích, họ sẽ biết rõ hơn.

Trong trường hợp của Hostgator , các mô-đun PHP mà họ cài đặt sẵn bao gồm (có lẽ bạn sẽ chỉ cần hầu hết nhưng không phải tất cả chúng):

Các mô-đun PHP được cài đặt sẵn bởi Hostgator

Media Temple cung cấp một phpinfo();tập tin để bạn kiểm tra cấu hình của họ. Nó cũng hữu ích cho mục đích so sánh.


WP cần gì php5-cli, php5-dev, (php5-fpm && php5-cgi), php5-lê, php5-imap và php5-pspell để làm gì? Cách tiếp cận của bạn dường như chỉ là cài đặt mọi thứ và nó là một cách nghèo nàn. Theo ý kiến, bạn nên bắt chước các môi trường lưu trữ được chia sẻ nếu bạn có quyền kiểm soát cài đặt của mình. Ngoài ra, bạn nên chọn một cách để chạy PHP (FastCGI hoặc CGI) nhưng không phải cả hai.

Bên cạnh phiên bản (php5), đây thực sự là câu trả lời tốt nhất ở đây .. câu hỏi không nêu rõ 'cái gì cho', chỉ là 'cái nào'. Bỏ phiếu lên!
GerardJP

8

Nếu bạn muốn một cách dễ dàng để xác minh xem máy chủ của bạn có đáp ứng các yêu cầu này hay không, giờ đây đã có lệnh ext WP-CLI tiện dụng để thực hiện.

wp ext requiredhiển thị tất cả các phần mở rộng PHP cần thiết để chạy WordPress, trong khi wp ext recommendedhiển thị các phần mở rộng tùy chọn . wp ext checklà sự kết hợp của cả hai lệnh.

Chúng rất hữu ích khi bạn cần một cách nhanh chóng để kiểm tra các yêu cầu hệ thống trên một máy chủ mới và / hoặc nếu bạn muốn xử lý thêm danh sách này theo chương trình.

Đây là cách wp ext requiredhoạt động:

$ wp ext required
+-----------+-----------+
| extension | installed |
+-----------+-----------+
| curl      | 1         |
| date      | 1         |
| dom       | 1         |
| filter    | 1         |
| ftp       | 1         |
| gd        | 1         |
| hash      | 1         |
| iconv     | 1         |
| json      | 1         |
| libxml    | 1         |
| mbstring  | 1         |
| mysqli    | 1         |
| openssl   | 1         |
| pcre      | 1         |
| posix     | 1         |
| SimpleXML | 1         |
| sockets   | 1         |
| SPL       | 1         |
| tokenizer | 1         |
| xml       | 1         |
| xmlreader | 1         |
| zlib      | 1         |
+-----------+-----------+
Success: All required extensions are installed

7

Tôi đã phát triển trình kiểm tra môi trường WordPress của mình. Đây là một lớp đơn giản, chạy trên web SAPI hoặc trên CLI. Đây là phiên bản được duy trì https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php

<?php
/**
 * Check PHP environment.
 *
 * Usage through a webserver
 *     wget -q -O - "https://example.com/php-env-check.php"; echo
 * Usage on CLI
 *     php /path/to/php-env-check.php
 *
 * @package php-env-check
 * @version 0.2.0
 * @author Viktor Szépe <viktor@szepe.net>
 */

namespace O1;

// Local access only
if ( php_sapi_name() !== 'cli' && $_SERVER['REMOTE_ADDR'] !== $_SERVER['SERVER_ADDR'] ) {
    header( 'Status: 403 Forbidden' );
    header( 'HTTP/1.1 403 Forbidden', true, 403 );
    header( 'Connection: Close' );
    exit;
}

// Remove cached version of this file
if ( function_exists( 'opcache_invalidate' ) ) {
    opcache_invalidate( __FILE__ );
}

// Check environment
$check = new Check_Env();
$status = empty( $check->errors );

// Display report and exit
print json_encode( $check->errors );
exit( $status ? 0 : 1 );

/**
 * Check PHP configuration.
 */
final class Check_Env {

    /**
     * List of errors.
     */
    public $errors = array();

    /**
     * Run the checks.
     *
     * @param void
     */
    public function __construct() {

        // Extensions for WordPress on PHP 7.0
        // http://wordpress.stackexchange.com/a/42212

        // Engine version
        $this->assert( 'php', 70013, PHP_VERSION_ID );

        // Core directives
        $this->assert_directive( 'expose_php', '' );
        $this->assert_directive( 'allow_url_fopen', '' );
        $this->assert_directive( 'mail.add_x_header', '' );
        $this->assert_directive( 'realpath_cache_size', '64k' );
        $this->assert_directive( 'max_execution_time', '30' );
        $this->assert_directive( 'memory_limit', '128M' );
        $this->assert_directive( 'max_input_vars', '1000' );
        $this->assert_directive( 'post_max_size', '4M' );
        $this->assert_directive( 'upload_max_filesize', '4M' );

        // Compiled in Extensions
        // php -n -m | paste -s -d " "
        // Core date filter hash libxml openssl pcntl pcre Reflection session SPL standard zlib
        $this->assert_extension( 'date' );
        $this->assert_directive( 'date.timezone', 'Europe/Budapest' );
        $this->assert_extension( 'filter' );
        $this->assert_extension( 'hash' );
        $this->assert_extension( 'openssl' );
        $this->assert_extension( 'pcre' );
        $this->assert_extension( 'SPL' );
        $this->assert_extension( 'zlib' );

        // Common Extensions
        // dpkg -L php7.0-common | sed -n -e 's|^/usr/lib/php/\S\+/\(\S\+\)\.so$|\1|p' | paste -s -d " "
        // ctype iconv gettext tokenizer sockets pdo sysvsem fileinfo posix exif sysvmsg phar ftp calendar sysvshm shmop
        $this->assert_extension( 'ctype' ); // wp-includes/ID3/getid3.lib.php
        $this->assert_extension( 'posix' );
        $this->assert_extension( 'exif' ); // wp-admin/includes/image.php
        $this->assert_extension( 'ftp' );
        $this->assert_extension( 'gettext' ); // _()
        $this->assert_extension( 'iconv' );
        $this->assert_extension( 'mbstring' );
        $this->assert_extension( 'sockets' );
        $this->assert_extension( 'tokenizer' );

        // php7.0-json
        $this->assert_extension( 'json' );
        // php7.0-intl
        $this->assert_extension( 'intl' );
        // php7.0-xml
        // wddx xml simplexml xmlwriter xmlreader dom xsl
        $this->assert_extension( 'xml' );
        $this->assert_extension( 'SimpleXML' );
        $this->assert_extension( 'xmlreader' );
        $this->assert_extension( 'dom' );
        // php7.0-curl
        $this->assert_extension( 'curl' );
        // php7.0-gd
        $this->assert_extension( 'gd' );
        // php7.0-mysql
        // mysqlnd mysqli pdo_mysql
        // WP_USE_EXT_MYSQL will use mysqli through mysqlnd (no PDO)
        $this->assert_extension( 'mysqlnd' );
        $this->assert_extension( 'mysqli' );
        // php7.0-opcache
        $this->assert_extension( 'Zend OPcache', 'ext.opcache' );
        $this->assert_directive( 'opcache.restrict_api', '/home/prg123' );
        $this->assert_directive( 'opcache.memory_consumption', '256' );
        $this->assert_directive( 'opcache.interned_strings_buffer', '16' );
        $this->assert_directive( 'opcache.max_accelerated_files', '10000' );

        // Deprecated Extensions
        $this->assert_disabled_extension( 'mcrypt' );
        $this->assert_disabled_extension( 'mysql' );

        // Disabled Extensions
        // calendar fileinfo pcntl PDO pdo_mysql Phar readline
        // shmop sysvmsg(System V messages) sysvsem(System V semaphore) sysvshm(System V shared memory) wddx xmlwriter xsl

        $this->assert_disabled_extension( 'calendar' );
        $this->assert_disabled_extension( 'fileinfo' );
        $this->assert_disabled_extension( 'pcntl' );
        $this->assert_disabled_extension( 'PDO' );
        $this->assert_disabled_extension( 'pdo_mysql' );
        $this->assert_disabled_extension( 'Phar' );
        $this->assert_disabled_extension( 'readline' );
        $this->assert_disabled_extension( 'shmop' );
        $this->assert_disabled_extension( 'sysvmsg' );
        $this->assert_disabled_extension( 'sysvsem' );
        $this->assert_disabled_extension( 'sysvshm' );
        $this->assert_disabled_extension( 'wddx' );
        $this->assert_disabled_extension( 'xmlwriter' );
        $this->assert_disabled_extension( 'xsl' );
        // php7.0-sqlite3
        // pdo_sqlite sqlite3
        $this->assert_disabled_extension( 'pdo_sqlite' );
        $this->assert_disabled_extension( 'sqlite3' );

        // 3rd-party Extensions

        // php7.0-redis
        $this->assert_extension( 'igbinary' );
        $this->assert_extension( 'redis' );

        // Not for WordPress

        // Session
        $this->assert_directive( 'session.gc_maxlifetime', '1440' );
    }

    /**
     * Simple assert.
     *
     * @param $id string       Assert ID
     * @param $expected string Expected value
     * @param $result string   Current value
     */
    private function assert( $id, $expected, $result ) {

        if ( $expected !== $result ) {
            $this->errors[ $id ] = $result;
        }
    }

    /**
     * Assert for a PHP extension.
     *
     * @param $extension_name string Extension name
     * @param $id string             Optional assert ID
     */
    private function assert_extension( $extension_name, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = 'ext.' . $extension_name;
        }
        $this->assert( $id, true, extension_loaded( $extension_name ) );
    }

    /**
     * Negative assert for a PHP extension.
     *
     * @param $extension_name string Extension name
     * @param $id string             Optional assert ID
     */
    private function assert_disabled_extension( $extension_name, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = '!ext.' . $extension_name;
        }
        $this->assert( $id, false, extension_loaded( $extension_name ) );
    }

    /**
     * Assert for a PHP directive.
     *
     * @param $directive_name string Directive name
     * @param $expected string       Expected value
     * @param $id string             Optional assert ID
     */
    private function assert_directive( $directive_name, $expected, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = $directive_name;
        }
        $this->assert( $id, $expected, ini_get( $directive_name ) );
    }
}

Dựa trên công việc của @rarst


3

Nếu bạn đang sử dụng Debian 7 (Debian Wheezy), bạn cần cài đặt chính PHP và một số lượng nhỏ các tiện ích mở rộng. Hầu hết những gì được đề cập bởi @Rarst đã được bao gồm trong một trong các bản cài đặt PHP cơ bản nhất của Debian.

PHP

Bạn có bốn tùy chọn trong Debian Wheezy: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi hoặc php5-fpm . Tôi chọn php5-fpm nhưng tất cả phụ thuộc vào cách bạn muốn máy chủ web và PHP của bạn tương tác.

MySQL

Bạn cũng cần PHP để sử dụng MySQL. Các tùy chọn của bạn là php5-mysqlphp5-mysqlnd . php5-mysqlnd là bản địa và thường nhanh hơn. Một số có thể chọn một giải pháp thay thế như MariaDB.

Thư viện đồ họa tùy chọn

Nếu bạn muốn thay đổi kích thước hình ảnh của mình, bạn có thể cài đặt php5-gd hoặc php5-fantick . php5-fantick sẽ cung cấp cho bạn chất lượng tốt hơn và Wordpress sẽ sử dụng nó nếu có sẵn. Nếu cả hai được cài đặt, php5-fantick sẽ được sử dụng. Nếu không được cài đặt, hình ảnh sẽ không được thay đổi kích thước (và Wordpress sẽ không phàn nàn).

Tùy chọn HTTP

Nếu bạn cài đặt php5-curl , nó sẽ được sử dụng nhưng không bắt buộc đối với bất cứ thứ gì ngoại trừ hiệu năng tốt hơn.


Wordpress và hầu hết các tiện ích mở rộng không có gì khác, mặc dù một số tiện ích mở rộng có thể có các yêu cầu khác.

Dưới đây là dòng cài đặt cơ bản hoàn chỉnh để cung cấp cho Wordpress mọi thứ cần thiết để có hiệu suất tối ưu và không có gì nó không có:

apt-get install php5-fpm php5-mysqlnd php5-imagick php5-curl

2

Điều đáng nói là kể từ WordPress 5.2, có một tính năng tích hợp báo cáo về các mô-đun bị thiếu. Tìm nó tại Công cụ> Sức khỏe Trang web.


1

Một "chiếc áo" nhỏ khi cài đặt PHP cho Wordpress trên Debian:

0. Thêm kho lưu trữ dotdeb

Thêm hai dòng này vào /etc/apt/sources.listtập tin của bạn :

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

Thêm khóa GPG:

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

Cập nhật "danh sách gói":

sudo apt-get update

1. Cài đặt PHP 7:

apt-get install php7.0-common libapache2-mod-php7.0 php7.0-cli

Nguồn: http://php.net/manual/en/install.unix.debian.php

2. Danh sách các mô-đun, được bao gồm trong gói "php7.0-common":

/usr/lib/php/20151012/calendar.so
/usr/lib/php/20151012/ctype.so
/usr/lib/php/20151012/exif.so
/usr/lib/php/20151012/fileinfo.so
/usr/lib/php/20151012/ftp.so
/usr/lib/php/20151012/gettext.so
/usr/lib/php/20151012/iconv.so
/usr/lib/php/20151012/pdo.so
/usr/lib/php/20151012/phar.so
/usr/lib/php/20151012/posix.so
/usr/lib/php/20151012/shmop.so
/usr/lib/php/20151012/sockets.so
/usr/lib/php/20151012/sysvmsg.so
/usr/lib/php/20151012/sysvsem.so
/usr/lib/php/20151012/sysvshm.so
/usr/lib/php/20151012/tokenizer.so

Nguồn: https://packages.debian.org/sid/amd64/php7.0-common/filelist

3. Để cài đặt các mô-đun bổ sung được yêu cầu / khuyên dùng bởi wordpress:

apt-get install php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-pspell php7.0-zip

Nguồn: https://wordpress.stackexchange.com/a/42141/107878

4. Tôi không thể tìm thấy những điều sau đây trên debian:

Openssl
Path Info Check
Zlib

5. "Tìm kiếm apt-cache php7" trả về:

php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-apcu - APC User Cache for PHP
php7.0-apcu-bc - APCu Backwards Compatibility Module
php7.0-bcmath - Bcmath module for PHP
php7.0-bz2 - bzip2 module for PHP
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP
php7.0-dba - DBA module for PHP
php7.0-dbg - Debug symbols for PHP7.0
php7.0-dev - Files for PHP7.0 module development
php7.0-enchant - Enchant module for PHP
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.0-gd - GD module for PHP
php7.0-geoip - GeoIP module for PHP
php7.0-gmp - GMP module for PHP
php7.0-igbinary - igbinary serializer for PHP
php7.0-imagick - Provides a wrapper to the ImageMagick library
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-json - JSON module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mbstring - MBSTRING module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-memcached - memcached extension module for PHP, uses libmemcached
php7.0-mongodb - MongoDB driver for PHP
php7.0-msgpack - MessagePack serializer for PHP
php7.0-mysql - MySQL module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-opcache - Zend OpCache module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-pspell - pspell module for PHP
php7.0-readline - readline module for PHP
php7.0-recode - recode module for PHP
php7.0-redis - PHP extension for interfacing with Redis
php7.0-snmp - SNMP module for PHP
php7.0-soap - SOAP module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-ssh2 - Bindings for the libssh2 library
php7.0-sybase - Sybase module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xdebug - Xdebug Module for PHP
php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
php7.0-xsl - XSL module for PHP (dummy)
php7.0-zip - Zip module for PHP

Tham khảo: https://packages.debian.org/source/sid/php7.0


1

Các sổ tay WordPress hiện liệt kê các module PHP được đề nghị:

Lõi WordPress sử dụng các phần mở rộng PHP. Nếu tiện ích mở rộng ưa thích bị thiếu, WordPress sẽ phải thực hiện nhiều công việc hơn để thực hiện tác vụ mà mô-đun trợ giúp hoặc trong trường hợp xấu nhất sẽ xóa chức năng. Do đó, các phần mở rộng PHP được liệt kê dưới đây được khuyến nghị.

  • bcmath - Được sử dụng để cải thiện hiệu suất tính toán.
  • curl - Thực hiện các hoạt động yêu cầu từ xa.
  • exif - Hoạt động với siêu dữ liệu được lưu trữ trong hình ảnh.
  • bộ lọc - Được sử dụng để lọc an toàn đầu vào của người dùng.
  • fileinfo - Được sử dụng để phát hiện mô phỏng tải lên tệp
  • mod_xml - Được sử dụng để tạo XML, chẳng hạn như cho sơ đồ trang web XML. Lưu ý rằng mod_xml là một mô-đun Apache, không phải là phần mở rộng PHP, nhưng được liệt kê để nhận biết.
  • mysqli - Kết nối với MySQL để tương tác cơ sở dữ liệu.
  • libsodium - Tạo byte ngẫu nhiên.
  • openssl - Cho phép kết nối dựa trên SSL đến các máy chủ khác.
  • pcre - Tăng hiệu suất khớp mẫu trong tìm kiếm mã.
  • fantick - Cung cấp chất lượng hình ảnh tốt hơn để tải lên phương tiện truyền thông. Xem WP_Image_Editor đang đến! để biết chi tiết. Thay đổi kích thước hình ảnh thông minh hơn (đối với hình ảnh nhỏ hơn) và hỗ trợ hình thu nhỏ PDF, khi Ghost Script cũng có sẵn.
  • xml - Được sử dụng để phân tích cú pháp XML, chẳng hạn như từ trang web của bên thứ ba.

Nó cũng liệt kê các phần mở rộng PHP sau đây là tùy chọn:

  • gd - Nếu Imagick chưa được cài đặt, Thư viện đồ họa GD được sử dụng làm dự phòng giới hạn chức năng cho thao tác hình ảnh.
  • mcrypt - Tạo byte ngẫu nhiên khi libsodium không khả dụng.
  • xmlreader - Được sử dụng để phân tích cú pháp XML.
  • zlib - Nén và giải nén Gzip.

Huh, tôi tự hỏi không biết mod_xmlphải làm gì với bất cứ điều gì vì lõi không thực hiện sơ đồ trang web XML hoặc gắn liền với việc chạy trên máy chủ web cụ thể.
Rarst

0

bạn cần các phần mở rộng mysqli, pdo và gd. và đôi khi xml-rpc.

Tôi đã chạy WP với tiện ích mở rộng gốc mysqlnd được một thời gian rồi, nó khá gọn gàng. Có công cụ phản chiếu được tích hợp sẵn, vì vậy nếu bạn muốn xem những gì đang xảy ra với db trong yêu cầu cụ thể đó, bạn có thể thực hiện nó.

zip là một phần mở rộng là không cần thiết, hầu hết các chương trình gọi hệ thống zip thực thi.


2
WP không sử dụng lớp PDO. Có thể có các plugin cho phép bạn thực hiện việc này, nhưng API cơ sở dữ liệu của WP vẫn có từ thời cổ đại của PHP ...
onetrickpony
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.