当我运行PHPIZE并得到以下错误时我该怎么办?我已经安装了xcode命令行工具.
Run Code Online (Sandbox Code Playgroud)grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No:
我正在尝试让xdebug在PHP 7上运行.我从版本http://xdebug.org/files/xdebug-2.4.0rc4.tgz构建了xdebug.so文件.phpize输出看起来正确(Zend Extension Api No: 320151012)然而我Xdebug requires Zend Engine API version 220121212.从PHP 得到.
所以我按照这些说明操作:
量身定制的安装说明
摘要
Xdebug已安装:无服务器API:Apache 2.0处理程序Windows:无Zend服务器:无PHP版本:7.0.9-1 Zend API编号:320151012 PHP API编号:20151012调试版本:无线程安全版本:无配置文件路径:/ etc /php/7.0/apache2配置文件:/etc/php/7.0/apache2/php.ini扩展目录:/ usr/lib/php/20151012说明
下载xdebug-2.4.1.tgz用tar -xvzf xdebug-2.4.1.tgz解压缩下载的文件运行:cd xdebug-2.4.1运行:phpize(如果你没有phpize,请参阅FAQ.
作为其输出的一部分,它应该显示:
配置:... Zend模块Api No:20151012 Zend Extension Api No:320151012如果没有,则使用错误的phpize.请按照此FAQ条目跳过下一步.
运行:./ configure运行:make运行:cp modules/xdebug.so/usr/lib/php/20151012编辑/etc/php/7.0/apache2/php.ini并添加行zend_extension =/usr/lib/php/20151012/xdebug.so重新启动Web服务器
除了我安装php7.0-dev而不是php5 apt-get install -y php7.0-dev.
当我运行phpize命令时,我得到以下输出:
配置:
PHP Api版本:20151012
Zend Module Api No:20151012
Zend Extension Api No:320151012
正如所料.但是,当我运行PHP时,我得到:
Xdebug需要Zend Engine API版本220121212.
安装的Zend Engine API版本320151012更新.
有关Xdebug的更高版本,请访问http://xdebug.org/docs/faq#api与Derick Rethans联系.
我显然在某处做错了!任何有关调试问题的帮助非常感谢!:)
我正在努力并排安装 PHP 5.6 和 7.0,以方便从 PHP 5 迁移到 7。
我正在使用 Ond?ej Surý 的 Ubuntu PPA,https: //launchpad.net/~ondrej/+archive/ubuntu/php ,它提供了 PHP 5.6 和 7.0 的可共同安装版本。
这两个 PHP 版本可以完美地并行工作,但有一个障碍:我无法mysql为 PHP 5.6构建扩展(即使我能够为 7.0 构建它)。
(我很清楚该mysql扩展已经过时,应该放弃它以支持更现代的替代方案。然而,我期望那些遗留应用程序依赖它的客户在 PHP 5.6 仍然存在的时候重构他们的代码是不合理的支持。所以,我在这件事上别无选择......)
对于不熟悉这个可共同安装的 PPA 的人,版本号会附加到二进制文件中,因此各种 PHP 可执行文件的路径如下:
# ls -lah /usr/bin | grep "php"
-rwxr-xr-x 1 root root 13K Dec 31 03:24 dh_php
lrwxrwxrwx 1 root root 21 Feb 23 09:51 php -> /etc/alternatives/php
-rwxr-xr-x 1 root root 3.6M Feb 23 06:37 php5.6
-rwxr-xr-x …Run Code Online (Sandbox Code Playgroud) 我在操作系统 10.11 上使用 xampp5.6.15。我按照此说明安装 xDebug。我的“定制安装说明”如下:

在这个指令中,它没有提到将下载的 tgz 文件放在哪里,所以我只是将其保留在文件夹中downloads,运行后phpize,输出如下:
grep: /usr/include/php/main/php.h: 没有这样的文件或目录 grep: /usr/include/php/Zend/zend_modules.h: 没有这样的文件或目录 grep: /usr/include/php/Zend /zend_extensions.h:没有这样的文件或目录 配置:PHP Api 版本:
Zend 模块 Api 编号:
Zend 扩展 Api 编号:
找不到 autoconf。请检查您的 autoconf 安装和 $PHP_AUTOCONF 环境变量。然后,重新运行此脚本。
我想这是因为 xdebug 文件夹不在正确的位置,我尝试将其移动到xamppfiles/和xamppfiles/modules/以及其他一些地方,但没有任何效果。
那么有什么问题吗?我应该将文件夹放在哪里?
我正在使用这个官方的 php Docker 镜像:https : //github.com/docker-library/php/blob/76a1c5ca161f1ed6aafb2c2d26f83ec17360bc68/7.1/alpine/Dockerfile
现在我需要添加对 yaml 扩展的支持,它没有与 php 捆绑在一起。我看到我使用的基本图像使用了 phpize。
我正在尝试这种方法:
FROM php:7.1.5-alpine
# Install and enable yaml extension support to php
RUN apk add --update yaml yaml-dev
RUN pecl channel-update pecl.php.net
RUN pecl install yaml-2.0.0 && docker-php-ext-enable yaml
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
running: phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' …Run Code Online (Sandbox Code Playgroud) phpize ×5
php ×4
xdebug ×2
alpine-linux ×1
docker ×1
dockerfile ×1
macos-mojave ×1
mysql ×1
pecl ×1
php-7 ×1