2017-01-19 11 views
8

16.04에 14.04에서 우분투를 업그레이드 한 후, PHP CLI는 Xdebug는 불평 시작 :PHP7 CLI 두 번 Xdebug는로드를 시도 - - "Xdebug는로드 할 수 없습니다 이미로드"

$ ls -la /etc/php/7.0/cli/conf.d/ | grep xdebug 
lrwxrwxrwx 1 root root 38 Jan 19 11:41 20-xdebug.ini -> /etc/php/7.0/mods-available/xdebug.ini 

그리고 그것은 단지 php -i에서이 출력 한 번 참조 것 :

$ php -i | grep -i configuration 
Cannot load Xdebug - it was already loaded 
Configuration File (php.ini) Path => /etc/php/7.0/cli 
Loaded Configuration File => /etc/php/7.0/cli/php.ini 
Configuration 

그리고 (이 두 번 포함되지 않습니다 그래서) 전체 디렉토리에 Xdebug는 단지 하나의 기준이있다 :

/etc/php/7.0$ grep -r xdebug * 
mods-available/xdebug.ini:zend_extension=xdebug.so 
mods-available/xdebug.ini:[xdebug] 
mods-available/xdebug.ini:xdebug.remote_enable=1 
mods-available/xdebug.ini:xdebug.remote_autostart=1 
mods-available/xdebug.ini:xdebug.remote_port=9000 
mods-available/xdebug.ini:xdebug.idekey=PHPSTORM 

나는 내가 여전히 Xdebug는로드 것을 제안, 출력을 다음 얻을 $ phpdismod xdebug을 할 경우

$ php -v 
PHP 7.0.13-0ubuntu0.16.04.1 (cli) (NTS) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies 
    with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies 
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans 

phpinfo()에 표시된 것처럼 아파치 구성에 더 이상 존재하지 않습니다.

어떻게 수정합니까?


편집 : 요청에 따라 추가 출력 : 나는 이미 docker-php-ext-enable xdebug 내 고정 표시기의 용기에 사용 가능으로 zend_extension=xdebug.so을 제거하여이 문제를 해결했습니다

$ php --ini 
Cannot load Xdebug - it was already loaded 
Configuration File (php.ini) Path: /etc/php/7.0/cli 
Loaded Configuration File:   /etc/php/7.0/cli/php.ini 
Scan for additional .ini files in: /etc/php/7.0/cli/conf.d 
Additional .ini files parsed:  /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/15-xml.ini, 
/etc/php/7.0/cli/conf.d/20-bcmath.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-curl.ini, 
/etc/php/7.0/cli/conf.d/20-dom.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-pdo_sqlite.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-simplexml.ini, 
/etc/php/7.0/cli/conf.d/20-sockets.ini, 
/etc/php/7.0/cli/conf.d/20-sqlite3.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, 
/etc/php/7.0/cli/conf.d/20-wddx.ini, 
/etc/php/7.0/cli/conf.d/20-xdebug.ini, 
/etc/php/7.0/cli/conf.d/20-xmlreader.ini, 
/etc/php/7.0/cli/conf.d/20-xmlwriter.ini, 
/etc/php/7.0/cli/conf.d/20-xsl.ini 

$ cat /etc/php/7.0/mods-available/xdebug.ini 
zend_extension=xdebug.so 
[xdebug] 
xdebug.remote_enable=1 
xdebug.remote_autostart=1 
xdebug.remote_port=9000 
xdebug.idekey=PHPSTORM 
+0

'php -ini' ('php -i | grep -i configuration'보다 낫지)의 결과는 무엇입니까? PHP는 어딘가에 다른 ini 파일을 구문 분석해야합니다 ... – LazyOne

+0

@LazyOne 지금 질문에 추가했습니다. – bcmcfc

+0

모든 .ini에서'zend_extension ='행을 확인하십시오. 모든 확장을보기 위해'extension ='을 시도 할 수도 있지만, xdebug는 첫 번째로만로드 될 수 있습니다. 그러나 지금까지는'/ etc/php/7.0/cli/conf.d/20-xdebug.ini'이어야합니다.'mods-available/xdebug.ini' 만 보셨을 것입니다. – LazyOne

답변

2

. 그것은 당신을 위해서도 가능할 수도 있습니다.

+0

나는 Docker를 사용하지 않습니다. – bcmcfc

+0

상관 없지만 /etc/php/7.0/mods-available/xdebug.ini에서 'zend_extension = xdebug.so'를 제거하십시오. – Magarusu

+0

제거하면 xdebug가 전혀로드되지 않습니다. – bcmcfc