PHP एक्सटेंशन और लाइब्रेरीज़ WP की ज़रूरत और / या उपयोग क्या हैं?


79

कोडेक्स शिथिल रूप से केवल सर्वर आवश्यकताओं में PHP संस्करण का उल्लेख करता है , हालांकि PHP को अलग-अलग हिस्सों को छोड़कर / सहित बहुत विस्तृत रेंज में कॉन्फ़िगर किया जा सकता है।

एक्सटेंशन / लाइब्रेरी क्या हैं:

  1. WP को काम करने के लिए क्या आवश्यक है? माई एसक्यूएल...
  2. विशिष्ट कार्यों के लिए आवश्यक हैं? जीडी? ...
  3. विशिष्ट कार्यों के सर्वश्रेष्ठ संचालन के लिए पसंद किया जाता है? cURL ...
  4. आमतौर पर प्लगइन्स द्वारा उपयोग किया जाता है? पिन ...

क्या आप जानते हैं कि आपकी साइट पर एक SSL त्रुटि है ( queryposts.com )?
मैं

@IamtheMostStupidPerson आपको धन्यवाद देता है, स्वचालित प्रमाणपत्र नवीनीकरण किसी कारण से विफल हो गया था, अब इसे ठीक किया जाना चाहिए।
रारस्ट

कोई चिंता नहीं, यह लेट्स एनक्रिप्ट है। नहीं है? मैंने सोचा कि यह स्वचालित रूप से नवीनीकृत हो जाता है ... यदि यह स्वचालित रूप से आपके मामले के रूप में नवीनीकृत नहीं होता है, तो हम क्या कर सकते हैं?
मैं

@IAMtheMostStupidPerson होस्टिंग समर्थन ने इसे रीसेट कर दिया था (यह उनके एकीकरण के माध्यम से स्थापित किया गया था), यह सामान्य रूप से मेरे लिए स्वचालित रूप से नवीनीकृत करता है।
रार्स्ट

खोजने के लिए बहुत कठिन है, लेकिन एक आधिकारिक सिफारिश है: make.wordpress.org/hosting/handbook/handbook/server-environment/…
सहायता नं।

जवाबों:


90

मैंने इसे WP कोड बेस (बंडल किए गए पुस्तकालयों सहित) के कुछ और सोचा और दिया गया आकार दिया गया है, यह हाथ से ऐसी सूची को संकलित करने के लिए बहुत वास्तविक नहीं लगता है (और हर नए संस्करण के लिए इसे दोहराएं - meh)।

मैंने उचित स्थिर कोड विश्लेषण उपकरण - PHP_CompatInfo और कोर द्वारा उपयोग किए गए एक्सटेंशन की रिपोर्ट के बाद उत्पन्न कुछ छेड़छाड़ के बाद देखा: (संस्करण 3.3.1 स्कैन)

  • cURL - 127 उपयोग ( libcurl की आवश्यकता है )

    • HTTP एपीआई (वर्ग WP_Http_curl)
    • url_is_accessable_via_ssl()
    • SimplePie (वर्ग के साथ ओवरराइड WP_SimplePie_File)
    • GoogleSpell (TinyMCE पैकेज से, उपयोग नहीं किया गया है?)
  • दिनांक / समय - ३६ / उपयोग करता है

  • DOM - 6 उपयोग ( libxml की आवश्यकता है )

    • iis7_rewrite_rule_exists()
    • iis7_delete_rewrite_rule()
    • iis7_add_rewrite_rule()
    • saveDomDocument()
  • POSIX Regex - 23 का उपयोग करता है

  • फ़िल्टर - 2 का उपयोग करता है

    • वर्ग PHPMailer->ValidateAddress()(वैकल्पिक)
  • एफ़टीपी - 72 का उपयोग करता है

    • कक्षा ftp_base
    • वर्ग ftp( शुद्ध और सॉकेट संस्करण)
    • कक्षा WP_Filesystem_FTPext
    • कक्षा WP_Filesystem_ftpsockets
  • जीडी - 56 का उपयोग करता है

    • wp-admin\includes\image-edit.php
    • wp-admin\includes\image.php
    • wp-includes\media.php
  • हैश - 6 उपयोग

    • wp-includes\pluggable.phpएकाधिक उपयोग (वैकल्पिक - फ़ॉलबैक इन wp-includes\compat.php)
  • iconv - 5 उपयोग

    • वर्ग SimplePie(वैकल्पिक)
    • wp_check_invalid_utf8() (वैकल्पिक)
    • wp-mail.php (वैकल्पिक)
  • JSON - 20 का उपयोग करता है

    • वैकल्पिक, में कमियां wp-includes/compat.php
  • libxml - 4 उपयोग करता है

    • वर्ग WP_oEmbed->_parse_xml()(वैकल्पिक)
    • SimplePie
  • मल्टीबाइट स्ट्रिंग - 29 का उपयोग करता है

    • में कुछ गिरावट wp-includes/compat.php
  • MySQL - 60 उपयोग करता है

    • कक्षा wpdb
    • वर्गSimplePie_Cache ( वर्ग के साथ ओवरराइड WP_Feed_Cache)
  • ओपनएसएसएल - 4 का उपयोग करता है

    • कक्षा PHPMailer
  • पीसीआरई - 743 उपयोग करता है

  • SimpleXML - 1 का उपयोग करता है

    • वर्ग WP_oEmbed(वैकल्पिक लगता है)
  • सॉकेट - 64 का उपयोग करता है

    • वर्ग ftp( socketsकार्यान्वयन)
  • एसपीएल - 3 का उपयोग करता है

  • टोकनराइज़र - 3 का उपयोग करता है

    • wp_doc_link_parse() (वैकल्पिक)
  • XML पार्सर - 89 का उपयोग करता है

  • XMLReader - 1 का उपयोग करता है

    • SimplePie (वैकल्पिक लगता है)
  • ज़ालिब - 30 का उपयोग करता है


4
महान संसाधन। सौभाग्य से ऊपर के अधिकांश एक्सटेंशन और लाइब्रेरी अब PHP 5.2.4 और उससे ऊपर के डिफ़ॉल्ट रूप से संकलित हैं।
क्रिस_O

@Chris_O जब तक डिफ़ॉल्ट का पालन किया जाता है ... यह कोर टीम द्वारा कई बार कहा गया है कि जंगली में कुछ अजीब PHP विन्यास हैं। अपने आप से यह सवाल क्या प्रेरित करता है कि वीपीएस को नए होस्टिंग प्रदाता से काम पर खरीदा गया था और अप्रत्याशित रूप से इसमें कुछ विशिष्ट एक्सटेंशन गायब होने के साथ बहुत कम कॉन्फ़िगरेशन था। ऐसे चेक एक्सटेंशन की सूची के साथ समर्थन प्रदान करना अधिक सुविधाजनक होगा, फिर उन्हें एक-एक करके स्थापित करने की खोज करें और पूछें।
Rarst

थीम और प्लगइन्स को अनज़िप करने के लिए किस परिवाद का उपयोग किया जाता है?
जगप

1
@ जगरप जिपअर्चिव या PclZip संबंधित अनज़िप फ़ंक्शंस देखें queryposts.com/?s=unzip_file
Rarst

1
V4.7 और नए देशी पीडीएफ थंबनेल / पूर्वावलोकन के साथ आपके सर्वर को इमेजिक, इमेजमैजिक और घोस्टस्क्रिप्ट सपोर्ट की जरूरत है।
j08691

26

इसका उत्तर जटिल और बहुत लंबा हो सकता है, जहां तक ​​मुझे पता है, सर्वर और OS (IIS, Apache) के बीच कुछ अंतर भी होंगे .. मैं यह नहीं कह सकता कि निम्नलिखित सूची एक पूर्ण सूची है, लेकिन इसमें शामिल है उनमें से कुछ मुझे पता है कि आवश्यक हैं:

  • कर्ल और कर्लएसएसएल - यह सुनिश्चित नहीं है कि यह आवश्यक है , लेकिन अगर यह उपलब्ध है तो बहुत सारे वर्डप्रेस कोड इसका उपयोग करेंगे। हालांकि कई प्लगइन्स को इसकी आवश्यकता है और / या इसके बिना सीमित कार्य होंगे।

  • Exif - WordPress के मीडिया हैंडलर को Exif डेटा को छवियों से बाहर निकालने की अनुमति देता है।

  • Gettext - .po .mo अनुवाद स्थानीयकरण अंतर्राष्ट्रीयकरण से निपटने ..

  • एफ़टीपी - एफ़टीपी के माध्यम से प्लगइन और वर्डप्रेस अपग्रेड करने के लिए उपयोग किया जाता है।

  • जीडी - कोई परिचय की जरूरत है, है ना?

  • Iconv - चरित्र ने मेल से लेकर आरएसएस पार्सिंग तक हर चीज के लिए रूपांतरण निर्धारित किया है।

  • Mbregex और Mbstring - नाम बहुत वर्णनात्मक है - सभी जगह इस्तेमाल किए गए कार्य प्रदान करें :-)

  • Mcrypt - वर्डप्रेस के लिए आवश्यक नहीं है, लेकिन कई प्लगइन्स को इसकी आवश्यकता होती है।

  • माइम मैजिक - अब वर्डप्रेस में पदावनत - लेकिन फिर भी वापस संगतता के लिए अच्छा है।

  • * प्रणाली का माईसिक्ल और माईसक्ल * - हम सभी जानते हैं कि यह क्या है और इसकी आवश्यकता क्यों है, नहीं?

  • Openssl - इस लाइब्रेरी का उपयोग वर्डप्रेस के लिए SSL प्रमाणपत्रों के साथ एन्क्रिप्ट किए गए प्रोसेसिंग कनेक्शन को संभालने के लिए किया जाता है, जो किसी भी SSL (https) एन्क्रिप्टेड स्थान से कनेक्ट करने में सक्षम हो सकता है।

  • POSIX - यह सुनिश्चित करने के लिए उपयोग किया जाता है कि वर्डप्रेस फ़ाइल अनुमतियों और मालिकों को ठीक से रखता है।

  • पाथ इन्फो चेक - कुछ पर्मलिंक सेटअप।

  • Pspell - वर्तनी जाँच क्षमताओं को TinyMCE,।

  • सॉकेट्स - वर्डप्रेस में FTP कनेक्शन और मेल हैंडलिंग AKA SMTP और POP को संभालना।

  • ज़िप - सुनिश्चित नहीं है कि आवश्यक है - लेकिन यह क्रॉस-प्लेटफ़ॉर्म संगत ज़िप फ़ाइल निर्माण और निष्कर्षण वर्ग यदि उपलब्ध हो तो वर्डप्रेस द्वारा उपयोग किया जाएगा।

  • ज़्लिब - कई मामलों में उपयोग किया जाता है। उदाहरण - js और css फाइलें कम्प्रेशन। फिर से, यकीन नहीं है कि आवश्यक है लेकिन जरूरत है।

जैसा कि ऊपर कहा गया है - यह किसी भी तरह से पूर्ण सूची नहीं है - यह लगभग एक साल पहले संकलित किया गया था - और इसे कुछ अपडेट की आवश्यकता हो सकती है। उनमें से कई कार्य वास्तव में आवश्यक नहीं हैं, लेकिन उन्नत हैं । कई मामलों में वर्डप्रेस एक फ़ंक्शन का उपयोग करेगा यदि यह उपलब्ध है, और यदि नहीं, तो कार्य को अनदेखा कर देगा। एक अच्छा उदाहरण जीडी लाइब्रेरी की कमी है, यह वर्डप्रेस को कार्य करने से नहीं रोकेगा, लेकिन यह अपलोड की गई छवियों को क्रॉप, आकार, या बदल नहीं देगा - इस प्रकार मूल को छोड़ दें और "डालें" में "आकार" विकल्प को छोड़ दें। छवि "समारोह) पोस्ट करने के लिए ..

एक साइड नोट के रूप में - मैं यह भी कहूंगा कि शायद इस सवाल को यहाँ से serverfault.com पर अधिक सही / अपडेट किए गए उत्तर मिलेंगे ...


ऐसा क्यों नहीं है जहाँ Wordpress वेबसाइट पर पाया जाना है?
तडज

13

( यह एक उत्तर होने का इरादा नहीं है। बस कुछ उपयोगी जानकारी। यदि आपको लगता है कि यह जानकारी उपयोगी नहीं है, तो मुझे बताएं, मैं बस इसे हटा दूंगा।)

मुझे लगता है कि पैकेज के संदर्भ में बात करना नए-नए लोगों के लिए आसान होगा, लेकिन चूंकि पैकेज सिस्टम से सिस्टम में भिन्न होते हैं, इसलिए उन सभी को कवर करना कठिन होता है।

जैसा कि मुझे डेबियन (और डेबियन-आधारित डिस्ट्रोस) के साथ अनुभव है, मैं इस विशिष्ट जानकारी को साझा करना चाहता हूं:

  • PHP5-CLI
  • PHP5-देव
  • PHP5-एफ पी एम
  • PHP5-cgi
  • PHP5-mysql
  • PHP5-xmlrpc
  • PHP5-कर्ल
  • PHP5-जी.डी.
  • php-apc (आवश्यक नहीं, लेकिन अनुशंसित)
  • php-नाशपाती
  • PHP5-imap
  • PHP5-mcrypt
  • PHP5-pspell

उपर्युक्त पैकेज अन्य उत्तर में उल्लिखित सभी एक्सटेंशन / लाइब्रेरी / मॉड्यूल स्थापित करते हैं; सभी, माइम मैजिक को छोड़कर, जिसकी अब वर्डप्रेस को आवश्यकता नहीं है

यह सुनिश्चित करने का एक और अच्छा तरीका है कि आपका सर्वर वर्डप्रेस के साथ 100% संगत है, यह जांचने के लिए कि प्रबंधित होस्टिंग कंपनियां किन पैकेजों के साथ पहले से इंस्टॉल आती हैं। चूंकि उनके पास असंगतताओं के बारे में ग्राहकों की शिकायतों के साथ वर्षों का अनुभव है, वे बेहतर जानते हैं।

Hostgator के मामले में , उनके द्वारा पहले से इंस्टॉल किए गए PHP मॉड्यूल में शामिल हैं (आपको शायद केवल सबसे अधिक आवश्यकता होगी, लेकिन उन सभी में नहीं):

Hostgator द्वारा पहले से स्थापित PHP मॉड्यूल

मीडिया मंदिर एक प्रदान करता है phpinfo();आप अपने config की जाँच करने के लिए फ़ाइल। यह तुलनात्मक उद्देश्यों के लिए भी उपयोगी है।


WP के लिए php5-cli, php5-dev, (php5-fpm && php5-cgi), php5-pear, php5-imap और php5-pspell की क्या आवश्यकता है? आपका दृष्टिकोण बस सब कुछ स्थापित करने के लिए लगता है और यह एक गरीब है। जैसा कि यह विचार है कि यदि आपको अपने इंस्टॉल पर नियंत्रण है, तो आपको साझा होस्टिंग वातावरण की नकल करनी चाहिए। इसके अलावा, आपको PHP (FastCGI या CGI) चलाने का एक तरीका चुनना चाहिए लेकिन दोनों नहीं।

संस्करण (php5) के अलावा, यह वास्तव में यहां सबसे अच्छा उत्तर है .. यह सवाल 'क्या' के लिए नहीं बताता है, बस 'जो' मॉड्यूल है। वोट दिया!
गेरार्डजप

8

यदि आप यह सत्यापित करना चाहते हैं कि क्या आपका सर्वर इन आवश्यकताओं को पूरा करता है, तो ऐसा करने के लिए अब एक आसान WP-CLI एक्सट्रीम कमांड है।

wp ext requiredवर्डप्रेस को चलाने के लिए आवश्यक सभी PHP एक्सटेंशन wp ext recommendedदिखाता है , जबकि वैकल्पिक दिखाता है। wp ext checkदोनों आदेशों का एक संयोजन है।

ये तब काम आते हैं जब आपको किसी नए सर्वर पर सिस्टम की आवश्यकताओं की जांच करने के लिए एक त्वरित तरीका चाहिए और / या यदि आप इस सूची को प्रोग्रामेटिक रूप से आगे की प्रक्रिया करना चाहते हैं।

यहां बताया गया है कि कैसे wp ext requiredकाम करता है:

$ 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

मैंने अपना WordPress पर्यावरण परीक्षक विकसित किया है। यह एक साधारण वर्ग है, जो वेब SAPI या CLI पर चलता है। यह बनाए रखा गया संस्करण है 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 ) );
    }
}

@Rarst के काम पर आधारित है


3

यदि आप डेबियन 7 (डेबियन व्हीज़ी) का उपयोग कर रहे हैं, तो आपको PHP को स्वयं और थोड़े से एक्सटेंशन को स्थापित करने की आवश्यकता है। @Rarst द्वारा जो उल्लेख किया गया था, उसमें से अधिकांश पहले से ही डेबियन के सबसे बुनियादी PHP इंस्टॉल में से एक के साथ शामिल है।

पीएचपी

आपके पास डेबियन व्हीज़ी में चार विकल्प हैं: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi , या php5-fpm । मैं php5-fpm का चयन करता हूं, लेकिन यह सब इस बात पर निर्भर करता है कि आप अपने वेब सर्वर और PHP को कैसे इंटरैक्ट करना चाहते हैं।

माई एसक्यूएल

MySQL का उपयोग करने के लिए भी आपको PHP की आवश्यकता होती है। आपके विकल्प php5-mysql और php5-mysqlnd हैं । php5-mysqlnd देशी और आम तौर पर तेज है। कुछ लोग MariaDB जैसे विकल्प का चयन कर सकते हैं।

ग्राफिक्स लाइब्रेरी वैकल्पिक

यदि आप अपनी छवियों का आकार बदलना चाहते हैं, तो आप php5-gd या php5-imagick स्थापित कर सकते हैं । php5- इमेजिक आपको बेहतर गुणवत्ता देगा और यदि यह उपलब्ध है तो Wordpress इसका उपयोग करेगा। यदि दोनों स्थापित हैं, तो php5- इमेजिक का उपयोग किया जाएगा। यदि न तो स्थापित है, तो छवियों का आकार परिवर्तन नहीं किया जाएगा (और Wordpress शिकायत नहीं करेगा)।

HTTP वैकल्पिक

यदि आप php5- कर्ल स्थापित करते हैं , तो इसका उपयोग किया जाएगा लेकिन बेहतर प्रदर्शन के अलावा किसी भी चीज के लिए आवश्यक नहीं है।


Wordpress और अधिकांश एक्सटेंशन के अलावा कुछ भी आवश्यक नहीं है, हालांकि कुछ एक्सटेंशन में अन्य आवश्यकताएं हो सकती हैं।

यहां Wordpress को वह सब कुछ देने के लिए पूर्ण मूल स्थापित लाइन है जो इसे इष्टतम प्रदर्शन के लिए चाहिए और कुछ भी नहीं:

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

2

यह ध्यान देने योग्य है कि वर्डप्रेस 5.2 के बाद से एक अंतर्निहित सुविधा है जो लापता मॉड्यूल पर रिपोर्ट करती है। इसे टूल्स> साइट हेल्थ पर खोजें।


1

डेबियन पर वर्डप्रेस के लिए PHP स्थापित करते समय एक छोटी सी "चीटशीट":

0. dotdeb रिपॉजिटरी जोड़ें

इन दो पंक्तियों को अपनी /etc/apt/sources.listफ़ाइल में जोड़ें :

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

GPG कुंजी जोड़ें:

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

"पैकेज सूची" अपडेट करें:

sudo apt-get update

1. PHP 7 स्थापित करें:

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

स्रोत: http://php.net/manual/en/install.unix.debian.php

2. मॉड्यूल की सूची, जो "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

स्रोत: https://packages.debian.org/sid/amd64/php7.0-common/filelist

3. अतिरिक्त मॉड्यूल को स्थापित करने के लिए जो वर्डप्रेस द्वारा आवश्यक / अनुशंसित हैं:

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

स्रोत: https://wordpress.stackexchange.com/a/42141/107878

4. मुझे डेबियन पर निम्नलिखित नहीं मिला:

Openssl
Path Info Check
Zlib

5. "apt-cache search php7" रिटर्न:

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

संदर्भ: https://packages.debian.org/source/sid/php7.0


1

वर्डप्रेस पुस्तिका अब सिफारिश की पीएचपी मॉड्यूल को सूचीबद्ध करता है:

वर्डप्रेस कोर PHP एक्सटेंशन का उपयोग करता है। यदि पसंदीदा एक्सटेंशन गायब है, तो वर्डप्रेस को या तो उस कार्य को करने के लिए अधिक काम करना होगा जो मॉड्यूल मदद करता है या, सबसे खराब स्थिति में, कार्यक्षमता को हटा देगा। इसलिए नीचे सूचीबद्ध PHP एक्सटेंशन की सिफारिश की जाती है।

  • bcmath - गणित गणना के प्रदर्शन में सुधार करने के लिए उपयोग किया जाता है।
  • कर्ल - दूरस्थ अनुरोध संचालन करता है।
  • exif - छवियों में संग्रहीत मेटाडेटा के साथ काम करता है।
  • फ़िल्टर - उपयोगकर्ता इनपुट को सुरक्षित रूप से फ़िल्टर करने के लिए उपयोग किया जाता है।
  • fileinfo - फ़ाइल अपलोड के mimetype का पता लगाने के लिए उपयोग किया जाता है
  • mod_xml - XML ​​उत्पन्न करने के लिए प्रयुक्त, जैसे XML साइटमैप के लिए। ध्यान दें कि mod_xml एक Apache मॉड्यूल है, न कि PHP एक्सटेंशन, लेकिन जागरूकता के लिए सूचीबद्ध है।
  • mysqli - डेटाबेस इंटरैक्शन के लिए MySQL से जुड़ता है।
  • libsodium - यादृच्छिक बाइट्स उत्पन्न करता है।
  • खुलता है - अन्य मेजबानों के लिए एसएसएल-आधारित कनेक्शन की अनुमति देता है।
  • pcre - कोड खोजों में पैटर्न मिलान के प्रदर्शन को बढ़ाता है।
  • इमेजिक - मीडिया अपलोड के लिए बेहतर छवि गुणवत्ता प्रदान करता है। देखें WP_Image_Editor आने वाली है! ब्योरा हेतु। जब स्माटर स्क्रिप्ट भी उपलब्ध हो, तो स्मार्टर इमेज का आकार बदलना (छोटी छवियों के लिए) और पीडीएफ थंबनेल का समर्थन।
  • xml - XML ​​पार्सिंग के लिए उपयोग किया जाता है, जैसे कि तृतीय-पक्ष साइट से।

यह वैकल्पिक होने के रूप में निम्न PHP एक्सटेंशन को भी सूचीबद्ध करता है:

  • जीडी - अगर इमेजिक स्थापित नहीं है, तो जीडी ग्राफिक्स लाइब्रेरी का उपयोग छवि हेरफेर के लिए कार्यात्मक रूप से सीमित गिरावट के रूप में किया जाता है।
  • mcrypt - जब libsodium उपलब्ध नहीं है, तो यादृच्छिक बाइट्स बनाता है।
  • xmlreader - XML ​​पार्सिंग के लिए उपयोग किया जाता है।
  • zlib - गज़िप संपीड़न और विघटन।

हुह, मुझे आश्चर्य है कि mod_xmlकोर के बाद से कुछ भी नहीं करना है और न ही XML साइटमैप को लागू करता है या विशिष्ट वेब सर्वर पर चलने के लिए बंधा हुआ है।
रारस्ट

0

आपको mysqli, pdo और gd एक्सटेंशन चाहिए। और कभी-कभी xml-rpc।

मैं थोड़ी देर के लिए अब mysqlnd देशी एक्सटेंशन के साथ WP चला रहा हूं, यह बहुत साफ है। में परावर्तन सामान बनाया गया है, इसलिए यदि आप यह देखना चाहते हैं कि उस विशिष्ट अनुरोध में db के साथ क्या हो रहा है, तो आप यह कर सकते हैं।

एक एक्सटेंशन के रूप में ज़िप की जरूरत नहीं है, ज्यादातर प्रोग्राम सिस्टम ज़िप को निष्पादन योग्य कहते हैं।


2
WP PDO परत का उपयोग नहीं करता है। शायद ऐसे प्लगइन्स हैं जो आपको ऐसा करने में सक्षम बनाते हैं, लेकिन WP का डेटाबेस API अभी भी PHP के प्राचीन समय से है ...
onetrickpony
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.