MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001273XdebugInstallationpublic2016-02-18 21:412017-02-11 22:15
Reporterdgoosens 
Assigned Toderick 
PrioritynormalSeverityblockReproducibilityhave not tried
StatusresolvedResolutionno change required 
PlatformUbuntu 14.04 64bitOSOS Version
Product Version2.4.0rc4 
Target VersionFixed in Version 
Summary0001273: impossible to build correct xdebug for PHP5.6 if PHP7.0 also installed
DescriptionWhen PHP5.6 & PHP7.0 are installed, it appears the wrong PHP includes path is used during ./configure

This results in a xdebug.so extension that can not be loaded by PHP 5.6

Failed loading /usr/lib/php/20131226/xdebug.so: /usr/lib/php/20131226/xdebug.so: undefined symbol: zend_sort
Steps To ReproduceFollowed these instructions to install PHP5.6 & PHP7.0:
http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu [^]

For PHP7.0 --> WORKING
tar -xvzf xdebug-2.4.0rc4.tgz
cd xdebug-2.4.0RC4
phpize7.0
./configure
make
cp modules/xdebug.so /usr/lib/php/20151012
then create xdebug.ini etc.

For PHP7.0 --> WORKING
tar -xvzf xdebug-2.4.0rc4.tgz
cd xdebug-2.4.0RC4
phpize5.6
./configure
make
cp modules/xdebug.so /usr/lib/php/20131226
then create xdebug.ini etc.
Additional InformationGot it working though...

Noticed that during ./configure (for PHP5.6 version)
console spit out info indicating that it was using /usr/includes/php/20151012 as PHP includes path
this path is for PHP7.0

did
sudo mv /usr/includes/php/20151012 /usr/includes/php/20151012.BU
sudo cp /usr/includes/php/20131226 /usr/includes/php/20151012

and followed the standard procedure and then it worked

remember to reset include paths back afterwards
sudo rm -R /usr/includes/php/20151012
sudo mv /usr/includes/php/20151012.BU /usr/includes/php/20151012
Tagsmake clean
Operating System
PHP Version5.6.0-5.6.4
Attached Files

- Relationships

-  Notes
(0003518)
derick (administrator)
2016-02-23 22:49

I'm not sure what the problem is. As long as you have everything nicely split out and use a path, you can install it with as many versions as you want. I run 13 on my laptop and 14 on my desktop. I wrote about it before too: https://derickrethans.nl/multiple-php-version-setup.html [^]
(0003577)
derick (administrator)
2016-04-04 11:01

You need to make sure that in between compiles for different PHP versions you need to run "make clean". You can also use the "./rebuild.sh" script to do this for you.
(0004211)
netbrothers-tr (reporter)
2017-02-09 11:04
edited on: 2017-02-09 11:05

Hi derick, I'm new to compiling xdebug myself. I've experienced above issue but can't seem to make it work by simply using "make clean". Even if I extract the tarball freshly I run into this. I have installed PHP 7 by the package manager (on Debian) and PHP 5.6 (and others) in my opt directory. So system wide paths are adjusted for PHP 7. I use the phpize of PHP 5.6 to build xdebug.

Is there any option I can pass to the configure command to not use the PHP 7 include dir but the PHP 5.6 one? Respectively, which global variables do I have to adjust to make it work? Thank you for any directions.

(0004212)
dgoosens (reporter)
2017-02-09 11:12

hi netbrothers-tr

Only way I got it to work with two PHP installs is by using the hack I put in the additional information:

---------------------------------------------------------------
# hack
sudo mv /usr/include/php/20151012 /usr/include/php/20151012.BU
sudo cp -r /usr/include/php/20131226 /usr/include/php/20151012

# standard procedure
phpize5.6
./configure
make

# reset hack
sudo rm -R /usr/include/php/20151012
sudo mv /usr/include/php/20151012.BU /usr/include/php/20151012
---------------------------------------------------------------
(0004213)
netbrothers-tr (reporter)
2017-02-09 12:51

Thanks, dgoosens!
(0004216)
serikd (reporter)
2017-02-11 22:13
edited on: 2017-02-11 22:15

Yet another simple way.
Just set version of php.

Steps:
- download xdebug
- tar -xvzf xdebug.tar
- cd xdebug
- phpize7.0
- ./configure --with-php-config=/usr/bin/php-config7.0
- make
- copy xdebug.so to /usr/lib/php/20151012/
- config your php.ini
- enjoy


- Issue History
Date Modified Username Field Change
2016-02-18 21:41 dgoosens New Issue
2016-02-23 22:49 derick Note Added: 0003518
2016-02-23 22:49 derick Assigned To => derick
2016-02-23 22:49 derick Status new => feedback
2016-02-27 16:00 derick Status feedback => resolved
2016-02-27 16:00 derick Resolution open => no change required
2016-04-04 00:57 mkungla Tag Attached: make clean
2016-04-04 11:01 derick Note Added: 0003577
2017-02-09 11:04 netbrothers-tr Note Added: 0004211
2017-02-09 11:05 netbrothers-tr Note Edited: 0004211 View Revisions
2017-02-09 11:12 dgoosens Note Added: 0004212
2017-02-09 12:51 netbrothers-tr Note Added: 0004213
2017-02-11 22:13 serikd Note Added: 0004216
2017-02-11 22:15 serikd Note Edited: 0004216 View Revisions


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker