PHP7: एक्स्ट-डोम समस्या को स्थापित करें


168

मैं PHP7 के साथ Ubuntu 16.04 सर्वर पर लार्वा 5.4 चला रहा हूं। cviebrock/eloquent-sluggableपैकेज को स्थापित करने के लिए कुछ त्रुटि फेंकने की कोशिश कर रहा है :

pish@let:/home/sherk/ftp/www$ sudo composer require cviebrock/eloquent-sluggable
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^4.2 for cviebrock/eloquent-sluggable
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - Installation request for phpunit/php-code-coverage (installed at 4.0.7) -> satisfiable by phpunit/php-code-coverage[4.0.7].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php/7.0/cli/php.ini
    - /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.0/cli/conf.d/10-opcache.ini
    - /etc/php/7.0/cli/conf.d/10-pdo.ini
    - /etc/php/7.0/cli/conf.d/20-calendar.ini
    - /etc/php/7.0/cli/conf.d/20-ctype.ini
    - /etc/php/7.0/cli/conf.d/20-exif.ini
    - /etc/php/7.0/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.0/cli/conf.d/20-ftp.ini
    - /etc/php/7.0/cli/conf.d/20-gd.ini
    - /etc/php/7.0/cli/conf.d/20-gettext.ini
    - /etc/php/7.0/cli/conf.d/20-iconv.ini
    - /etc/php/7.0/cli/conf.d/20-json.ini
    - /etc/php/7.0/cli/conf.d/20-mbstring.ini
    - /etc/php/7.0/cli/conf.d/20-mcrypt.ini
    - /etc/php/7.0/cli/conf.d/20-mysqli.ini
    - /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.0/cli/conf.d/20-phar.ini
    - /etc/php/7.0/cli/conf.d/20-posix.ini
    - /etc/php/7.0/cli/conf.d/20-readline.ini
    - /etc/php/7.0/cli/conf.d/20-shmop.ini
    - /etc/php/7.0/cli/conf.d/20-sockets.ini
    - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.0/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.0/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.0/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, reverting ./composer.json to its original content.

मुझे ऐप के स्थानीय संस्करण पर इस पैकेज को स्थापित करने में कोई समस्या नहीं है।

जवाबों:


363

सबसे पहले, चेतावनी पढ़ें! यह कहते हैं कि संगीतकार को रूट के रूप में चलाएं ! दूसरे, आप शायद अपने स्थानीय पर Xammp का उपयोग कर रहे हैं जिसमें डिफ़ॉल्ट के रूप में आवश्यक php पुस्तकालयों हैं।

लेकिन आपके सर्वर में आप गायब हैं ext-domphp-xmlआपके पास सभी आवश्यक पैकेज हैं। तो, आप बस इसे चलाकर स्थापित कर सकते हैं:

sudo apt-get update
sudo apt install php-xml

सबसे अधिक संभावना है कि आप भी गायब mbstringहैं। यदि आपको त्रुटि मिलती है, तो इस पैकेज को भी स्थापित करें:

sudo apt-get install php-mbstring

फिर भागो:

composer update
composer require cviebrock/eloquent-sluggable

धन्यवाद । अगर मैं न प्रयोग sudo: संगीतकार चलाने के लिए, इस त्रुटि मिलती हैCould not read /home/pish/.composer/auth.json file_get_contents(/home/pish/.composer/auth.json): failed to open stream: Permission denied
अमीन

4
यह एक अनुमति मुद्दा chmod और chown कमांड के लिए खोज करता है। इस फ़ोल्डर की अनुमति और स्वामी को बदल दें, तो आप ठीक हो जाएंगे।
अनार बेयरमोव

@rodrane php-mbstringपैकेज स्थापित करने के लिए आपके कोड में एक टाइपो है , यह होना चाहिए sudo apt-get। उसके अलावा; यह एक जादू की तरह काम करता है। धन्यवाद!
रॉबिन बी

मैं अपने मशीन पर php7.0-एक्सएमएल स्थापित लेकिन संगीतकार अब भी मुझे इस त्रुटि फेंक जब मैं एक करcomposer install
Salustiano मुनिज़

@SalustianoMuniz आपको PHP में मॉड्यूल को सक्षम करना पड़ सकता है। उदाहरण के लिए, का उपयोग sudo phpenmod xmlकरने के लिए और भी ऐसा ही xmlreaderऔर xmlwriter। फिर अपने सर्वर को पुनरारंभ करें (यदि अपाचे:) sudo service apache2 restartऔर फिर से स्थापित करने का प्रयास करें।
टिम विज़े

112

जिनके लिए php 7.1 पर एक्सट्रीम-डोम स्थापित करना चाहते हैं और इस कमांड को चलाते हैं:

sudo apt install php-xml

5
इसने मेरे लिए उबंटू 18.04 का उपयोग करके काम किया - अब तक का सबसे अच्छा जवाब।
धीरे

इस उत्तर के साथ समस्या यह है कि यह वर्तमान में डिफ़ॉल्ट php संस्करण सेट का उपयोग करता है। उदाहरण के लिए मैं कहता हूं sudo update-alternatives --set php /usr/bin/php7.0, php-xmlडाउनलोड करूंगा php7.0-xml। इस दृष्टिकोण का उपयोग करते समय सावधान रहें, मैं हमेशा @anar के दृष्टिकोण
natral

लेकिन उदाहरण स्पष्ट रूप से दिखाता है कि ओपी ने 7.0 संस्करण के लिए कहा जो चयनित उत्तर का पालन नहीं करता था। यह एक विसंगति है। संस्करण के बारे में पता होने के नाते समझ में आता है।
गीकफोरस

4

CentOS, RHEL, फेडोरा के लिए:

$ yum search php-xml
============================================================================================================ N/S matched: php-xml ============================================================================================================
php-xml.x86_64 : A module for PHP applications which use XML
php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php-xmlseclibs.noarch : PHP library for XML Security
php54-php-xml.x86_64 : A module for PHP applications which use XML
php54-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php55-php-xml.x86_64 : A module for PHP applications which use XML
php55-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php56-php-xml.x86_64 : A module for PHP applications which use XML
php56-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php70-php-xml.x86_64 : A module for PHP applications which use XML
php70-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php71-php-xml.x86_64 : A module for PHP applications which use XML
php71-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php72-php-xml.x86_64 : A module for PHP applications which use XML
php72-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php73-php-xml.x86_64 : A module for PHP applications which use XML
php73-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol

फिर अपने php संस्करण से मेल खाते हुए php-xml संस्करण का चयन करें :

# php -v
PHP 7.2.11 (cli) (built: Oct 10 2018 10:00:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

# sudo yum install -y php72-php-xml.x86_64

3

sudo apt install php-xml काम करेगा लेकिन बात यह है कि यह नवीनतम PHP संस्करण के लिए प्लगइन डाउनलोड करेगा।

यदि आपका PHP संस्करण नवीनतम नहीं है, तो आप इसमें संस्करण जोड़ सकते हैं:

# PHP 7.1
sudo apt install php7.1-xml

# PHP 7.2:
sudo apt install php7.2-xml

# PHP 7.3
sudo apt install php7.3-xml

# PHP 7.4 (latest)
sudo apt install php-xml

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.