phpize在/usr/include/php中找不到PHP头文件

23

技术栈: PHP 5.4.23, php-fpm, nginx 1.4.x, centos 6.5

我试图安装xdebug,需要运行phpize命令。

我已经安装了php5-devl并且pecl命令可用。

运行命令时,出现以下错误输出:

# phpize
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.

如何修复这个错误?

2
PHP头文件在/usr/include/php吗? - Álvaro González
4个回答

20

我认为您尚未安装php-pear。我在链接中没有看到它。

您可以通过yum install php-pear进行安装

信息

您还可以按照以下步骤安装xdebug

1)为PHP命令执行安装PHP的devel包

yum install php-devel

请确保您也安装了php-pear包

yum install php-pear

2) 安装GCC和GCC C ++编译器以自行编译Xdebug扩展。

yum install gcc gcc-c++ autoconf automake

3) 编译Xdebug

pecl install Xdebug

4) 使用以下命令查找php.ini文件:

`locate php.ini`

并添加以下行

[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.remote_enable = 1

5) 重启Apache service httpd restart

6) 测试是否正常工作 - 创建test.php文件,并添加下列代码

<?php phpinfo(); ?>

9

这个问题是由系统中使用的PHP版本解决的。

我的PHP版本是5.6。

因此,通过运行以下命令,我解决了这个问题:

yum install php56-devel

这里的 "56" 是您的 PHP 版本号。


获取失败:执行程序失败,运行[/bin/sh -c yum install php56-devel]:退出代码:1。 - Ruwan Liyanage

1
如果您使用的是PHP 7,例如在我的情况下,仅安装php-devel是无法解决问题的,但您需要安装一些额外的软件包:

yum install php-devel pcre-devel gcc make

然后您就可以按照Harikrishnan的步骤来使xdebug工作(如果尚未配置)。


1
错误:php70w-common与php-common-5.4.16-45.el7.x86_64冲突。 - Eddie
1
事实上,如果您正在使用PHP7,则可以阅读我的答案开始部分。 - Mimo
@Eddie 这个链接解决了php70w-common与php-common-5.4.16.el7.x86_64之间的冲突问题 https://linuxconfig.org/how-to-install-or-upgrade-to-php-7-on-centos-linux-server 。基本上,您需要在CentOS系统中安装php7并启用Remi和EPEL存储库。 - Giuseppe

0

我的问题还没有得到解决

yum install php-devel

但这帮助我解决了问题:

yum --enablerepo=remi,remi-php55 install php55-php-devel

2
如果您使用“remi”存储库,则可能无需构建任何pecl扩展,因为大多数扩展都可以在存储库中找到;) 请参阅http://blog.remirepo.net/pages/PECL-extensions-RPM-status上的列表。 - Remi Collet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接