如何安装和运行phpize

我一直想安装ffmpeg作为我的PHP设置的扩展。所以在安装它之前,我需要phpize它。我通过sudo apt-get install php5-dev安装了php5-dev。但现在当我运行phpize时,我得到以下错误:

phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

php.ini的位置是/usr/local/zend/etc/php.ini

我从另一个在线资源上尝试了这个方法

sudo apt-get install autoconf automake libtool m4

但是它们都已经安装好了。

定位配置。M4没有返回任何东西。

这里有任何指针,我如何才能得到phpize,从而,ffmpeg启动和运行?

535934 次浏览

Ohk . .我通过输入/usr/bin/phpize而不是phpize来运行它。

嗯…其实我不知道这是怎么解决的?但下面的步骤帮我解决了这个问题:

find / -name 'config.m4'

现在看看配置。M4是你想要phpize的东西的文件夹中的任何地方。找到那个文件夹,直接在里面运行phpize。

对于最新版本的Debian/Ubuntu (Debian 9+或Ubuntu 16.04+),安装php-dev依赖包,它将自动为您的发行版安装正确的php{x}-dev版本:

sudo apt install php-dev

旧版本的Debian/Ubuntu:

对于PHP 5,它在php5-dev包中。

sudo apt-get install php5-dev

对于PHP 7。X(来自rahilwazir的评论):

sudo apt-get install php7.x-dev

RHEL / CentOS /百胜

yum install php-devel # see comments

这可能会帮助ubuntu上的某些人。没有承诺。

sudo apt-get install libcurl3 php5-dev libcurl4-gnutls-dev libmagic-dev
sudo apt-get install php-http make
sudo pecl install pecl_http

"extension=http.so"添加到php.ini(通常位于/etc/php5/apache2/php.ini)

然后重新启动Apache (sudo service apache2 restart)。

如果有疑问,请检查apache日志:

sudo su --
cd /var/log/apache2
tail -25 error.log

是http。开始还是失败?

在Redhat Enterprise / CentOS下,使用yum来安装php-devel模块:

yum install php-devel

对于PHP 7,你需要:

yum install php70-php-devel

在Ubuntu 16.04中,你可以使用命令安装phpize

aptitude install php7.1-dev // for php 7.1

这相当于

apt-get install php7.1-dev // for php 7.1

PHP7用户

7.1

安装php7.1-dev

7.2

安装php7.2-dev

7.3

安装php7.3-dev

7.4

安装php7.4-dev

如果不确定你的PHP版本,只需运行命令php -v

对于ubuntu 14.04LTS与php 7,发布:

sudo apt-get install php-dev

然后安装:

pecl install memcache

对于安装了Plesk的ubuntu运行apt-get install plesk-php56-dev,对于其他版本只需在phpXX中更改XX(不带点)

linux终端安装

sudo apt-get install <php_version>-dev

例子:

sudo apt-get install php5-dev     #For `php` version 5
sudo apt-get install php7.0-dev   #For `php` version 7.0

转到下载的文件夹,在那里您可以找到config.m4。打开终端,运行phpsize。

例如,如果你想在PHP 5.6中使用"phpize"命令,你应该使用完整的路径: 代码:< / p >
/opt/cpanel/ea-php56/root/usr/bin/phpize

当然在PHP7.2中

sudo apt-get install php7.2-dev

步骤- 1:如果你不确定安装的php版本 然后在终端

执行以下命令
php -v

输出:上面的命令将输出安装在你机器上的php版本,我的是7.2

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies

步骤2:然后运行下面的命令来安装phpize,因为我的php版本是7.2.3。我将用7.2替换它,所以命令将是,

sudo apt-get install php7.2-dev

步骤3:完成了!

< >强替代方法(可选): 要根据您机器上安装的php版本自动安装phpize版本,请运行以下命令

sudo apt-get install php-dev

这个命令将自动检测安装的适当的php版本,并为其安装匹配的phpize。

2018年,我在macOS上遇到了这个问题。

对我来说,在sudo pecl install mongodb之前首先运行brew install php就可以了。

如果你有phpize在CentOS7上找不到的问题。在你为你的PHP版本安装了相关的开发工具后,这个路径最终对我有用:

对于PHP 7.2.x

/opt/cpanel/ea-php72/root/usr/bin/phpize

对于PHP 7.3.x

/opt/cpanel/ea-php73/root/usr/bin/phpize

对于PHP 7.4.x

/opt/cpanel/ea-php74/root/usr/bin/phpize

在包含下载的PHP扩展的文件夹中运行它,例如下面的第3行:

基于安装PHP v7.3的示例。x Brotli扩展https://github.com/kjdev/php-ext-brotli

git clone --recursive --depth=1 https://github.com/kjdev/php-ext-brotli.git
cd /php-ext-brotli
/opt/cpanel/ea-php73/root/usr/bin/phpize
./configure --with-php-config=/opt/cpanel/ea-php73/root/usr/bin/php-config
make
make test

你没有说明你使用的是什么操作系统,90%的答案假设Ubuntu/Debian Linux,因为你发布的apt-get install autoconf automake libtool m4命令(超过一半的人期望你运行CPanel),所以我给你一个稍微更通用的解决方案,应该可以在任何Un*x克隆(包括微软的WSL!)

你至少需要一些先决条件:

  1. 一个工作的C/ c++编译器- GCC或clang是目前最流行的选项。
  2. PHP的“开发人员版”,一些包管理人员称之为“开发头文件”。在aptitude的情况下,如其他答案所示,你应该只使用sudo apt install php-dev。注意上面提到的注意事项:您可能会得到一个稍微不稳定的PHP版本,它可能无法正确地更新到未来的版本。
  3. 现在(对我来说已经是2021年底了!),对于那些运行Ubuntu并希望认真修补PHP的人来说,建议使用ondrichj Surý的PHP个人包存档。ondrej总是更新他的PPA,有时在发布后的几个小时内;他紧跟最新的四个Ubuntu发行版和所有目前支持的PHP版本,这些版本还没有达到生命周期结束的状态(对不起,PHP5被认为完全过时,并受到未修补的bug和安全问题的困扰,所以它不被支持——有很好的理由!);他还提供了很多PHP扩展。遗憾的是,ffmpeg-php不是其中之一…
  4. 总体上缺少ffmpeg-php的支持是有原因的。据称,最初的存储库托管在Sourceforge,但已于2007年被放弃。最近推荐的套餐是不断更新的PHP-FFMpeg,应该可以使用composer轻松安装——在开始编译之前获取它!

或者,你应该使用shell_exec()启动ffmpeg二进制文件,而不是依赖于外部非官方的PHP扩展(尽管它既流行又定期更新!)。这是官方推荐的方法,主要是因为转换视频总是需要很长时间,该建议的作者建议了一个简单的架构,其中PHP脚本基本上在后台启动ffmpeg,接受批量视频进行处理。这个页面有点旧,但是展示的技术是可靠的。

我在Linux mint上使用XAMPP,如果你没有,它默认安装

sudo apt-get install php7.0-dev
// or
sudo apt-get install php-dev

know more