web-dev-qa-db-fra.com

Impossible d'installer xdebug - Dépend de: phpapi-20121212 - Ubuntu 14.04

J'essaie d'installer xdebug sur Ubuntu 14.04 depuis un moment maintenant.

Je travaille avec PHP 5.6.23. Quand j'essaye:

Sudo apt-get install php5-xdebug

Je reçois ce qui suit:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies: php5-xdebug : Depends: phpapi-20121212
E: Unable to correct problems, you have held broken packages.

J'ai aussi essayé de install xdebug manually depuis la source, mais lorsque j'essaie de travailler depuis phpstorm, j'obtiens ce qui suit:

Xdebug requires Zend Engine API version 220121212.
The Zend Engine API version 220131226 which is installed, is newer.
Contact Derick Rethans at http://xdebug.org/docs/faq#api for a later version of Xdebug.

J'ai essayé tous les tutoriels et solutions que j'ai trouvés et sans succès, j'apprécierais toute aide pour résoudre ce problème!

Voici le résultat de apt-cache policy php5 php5-xdebug:

Installed: 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1
  Candidate: 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1
  Version table:
 *** 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1 0
        100 /var/lib/dpkg/status
     5.5.9+dfsg-1ubuntu4.20 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty-security/main AMD64 Packages
        500 http://il.archive.ubuntu.com/ubuntu/ trusty-updates/main AMD64 Packages
     5.5.9+dfsg-1ubuntu4 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
php5-xdebug:
  Installed: (none)
  Candidate: 2.2.3-2build1
  Version table:
     2.3.3-3+deb.sury.org~trusty+1 0
        100 /var/lib/dpkg/status
     2.2.3-2build1 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty/universe AMD64 Packages
1
torsh

Vous utilisez des packages PHP installés manuellement qui ne proviennent pas des référentiels officiels. Tout peut arriver dans ce cas et je vous suggère de signaler le problème à son responsable.

Solution 1: Basculement/rétrogradation vers des packages dans le référentiel

La solution immédiate consiste à revenir aux packages dans le référentiel avec:

Sudo apt install php5=5.5.9+dfsg-1ubuntu4.20 php5-xdebug=2.2.3-2build1

Si vous avez d'autres packages en fonction de cette version de php5, vous devrez installer leurs versions respectives dans le référentiel de la même manière.

Solution 2: Installez PHP 5.6 et xdebug à partir d'un PPA réel et non manuellement avec dpkg -i

Comment installer différentes versions (mises à niveau ou rétrogradations) PHP dans une version encore prise en charge d'Ubuntu? a ne excellente réponse qui répertorie un tel PPA.

  1. Vous voudrez probablement supprimer l'installation actuelle de PHP 5 car les packages PPA ont des noms différents pour permettre différentes installations indépendantes de PHP:

    Sudo apt remove php5 php5-xdebug
    
  2. Ajoutez le PPA, mettez à niveau vos packages et installez les nouveaux packages PHP et xdebug:

    Sudo add-apt-repository ppa:ondrej/php
    Sudo apt update
    Sudo apt upgrade
    Sudo apt install php5.6 php-xdebug
    

Comme dans la solution précédente, vous devrez supprimer les packages qui dépendent de php5 (se produit automatiquement avec apt remove php5) et rajouter ultérieurement leurs équivalents php5.6 (ajoutez-les à la commande apt install).

4
David Foerster

L'erreur est due au fait que vous êtes loading un xdebug qui était compiled avec un php version différent de celui installed on your system

Et vous devriez en rechercher un qui a été compilé avec la même version php sur votre système.

Regardez cet article ici pour plus d'aide.

0
George Udosen