【问题标题】:How to install and run phpize如何安装和运行 phpize
【发布时间】:2011-03-07 17:46:27
【问题描述】:

我一直想安装 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

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

Locate config.m4 没有返回任何内容。

这里有什么指示我如何让phpize 以及ffmpeg 启动并运行?

【问题讨论】:

    标签: php ffmpeg phpinfo


    【解决方案1】:

    我在 Linux mint 上使用 XAMPP,如果您没有,默认情况下会安装它

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

    know more

    【讨论】:

      【解决方案2】:

      您没有指定您正在使用什么操作系统,并且 90% 的答案假设 Ubuntu/Debian Linux,因为您发布了 apt-get install autoconf automake libtool m4 命令(超过一半的人希望您运行 CPanel),所以我给你一个更通用的解决方案,它应该适用于任何 Un*x 克隆(包括 Microsoft 的 WSL!)。

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

      1. 一个有效的 C/C++ 编译器 - GCC 或 clang 是当今最流行的选项。
      2. PHP 的“开发者版本”,一些包管理器将其称为“开发头文件”。对于aptitude,如其他答案所示,您应该只使用sudo apt install php-dev 就可以了。请注意上述注意事项:您最终可能会得到一个稍微不稳定的 PHP 版本,该版本可能无法在未来的版本中正确更新。
      3. 这些天(对我来说是 2021 年末!),对于那些运行 Ubuntu 并希望认真修改 PHP 的人,建议使用 Ondřej Surý's personal package archive for PHP。 Ondřej 总是让他的 PPA 保持最新状态,有时在发布后的几个小时内;他跟上最新的四个 Ubuntu 发行版和所有当前支持的尚未达到生命周期结束状态的 PHP 版本(抱歉,PHP5 被认为完全过时并且存在未修补的错误和安全问题,因此不支持 -有很好的理由!);他也提供了很多 PHP 扩展。可悲的是,ffmpeg-php 不是其中之一……
      4. 总体上缺乏对ffmpeg-php 的支持是有充分理由的。据称,它的原始存储库托管在 Sourceforge,但已于 2007 年被放弃。recommended package these daysPHP-FFMpeg,它会不断更新,应该可以使用 composer 轻松安装 - 在开始你的编译!

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

      【讨论】:

        【解决方案3】:

        如果你在为你的 PHP 版本安装了相关的开发工具之后在 CentOS7.x 上找不到 phpize 的问题,那么这条路径终于对我有用了:

        对于 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 行:

        基于从https://github.com/kjdev/php-ext-brotli 安装 PHP v7.3.x 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
        

        【讨论】:

          【解决方案4】:

          对于 PHP7 用户

          7.1

          sudo apt install php7.1-dev

          7.2

          sudo apt install php7.2-dev

          7.3

          sudo apt install php7.3-dev

          7.4

          sudo apt install php7.4-dev

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

          【讨论】:

          • 你真的不需要再输入 apt-get 了。 apt install 是一样的。 apt-cache 不再需要输入,只需 apt search
          • php7.0-dev 在我的包列表中找不到。奇怪,我在列表中看到了 php5-dev,但根本没有 php7.0 包。
          • @SolomonClosson 这取决于您使用的操作系统版本。
          • 如果您安装包 php-dev,PHP 将始终升级到最新的稳定版本。如果你安装了 php7.0-dev 并且 PHP 7.1 发布了,你一般不会升级到它。
          • 您能否更新您的答案并添加 PHP 8 的解决方案?现在 PHP8 alpha 1 就在这里...
          【解决方案5】:

          对于最新版本的 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

          yum install php-devel # see comments
          

          【讨论】:

          • 如果使用 yum 而不是 apt-get,则相应的包称为 php-devel
          • yum 在 rhel/centos 上安装 php-devel
          • 这怎么可能是解决方案?在他说的问题中,他已经安装了php5-dev。
          • 对于PHP7,可以使用php7.0-dev
          • 对于 PHP7.1,使用php7.1-dev
          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            我在 2018 年的 macOS 上遇到了这个确切的问题。

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

            【讨论】:

            • 关于这个旧答案的两件事...... 1)您还应该首先包含有关如何安装brew 的说明(获取命令行实用程序,转到brew.sh 并获取它, 谨防破坏你苹果安装的 PHP 等);另请注意,Linux 用户也可以使用brew! 2) pecl 显然只会安装 PECL 包,OP 对 ffmpeg-php 很感兴趣,它可通过 PECL 获得...
            【解决方案8】:

            步骤 - 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。

            【讨论】:

              【解决方案9】:

              当然在 PHP7.2 中

              sudo apt-get install php7.2-dev
              

              【讨论】:

                【解决方案10】:

                例如,如果您想对 PHP 5.6 使用“phpize”命令,您可以使用完整路径: 代码:

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

                【讨论】:

                • 这对我有用:/opt/cpanel/ea-php80/root/usr/bin/phpize
                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

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

                  yum install php-devel
                  

                  对于 PHP 7,您需要:

                  yum install php70-php-devel
                  

                  【讨论】:

                  • 这对我来说是No package php-devel available
                  • 对于PHP7,我需要使用php70-php-devel
                  • yum install php72-php-devel 用于 PHP 7.2
                  • 并使用这个ln -s /opt/remi/php72/root/bin/phpize /usr/bin/phpize
                  • 参数不匹配:php74-php-devel
                  【解决方案13】:

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

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

                  相当于

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

                  【讨论】:

                    【解决方案14】:

                    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
                    

                    【讨论】:

                      【解决方案15】:

                      嗯...实际上我不知道这是如何解决的?但以下步骤为我解决了这个问题:

                      find / -name 'config.m4'
                      

                      现在看看 config.m4 是否在你想要 phpize 的东西的文件夹中的任何位置。转到该文件夹​​并直接在其中运行 phpize。

                      【讨论】:

                        【解决方案16】:

                        对于带有 php 7 的 ubuntu 14.04LTS,问题:

                        sudo apt-get install php-dev
                        

                        然后安装:

                        pecl install memcache
                        

                        【讨论】:

                        • 请用反引号包裹您的代码位,以便它显示为代码
                        • 实际上,仅使用 php-dev 将安装当前为您的发行版发布和维护的版本。所以在 Ubuntu 12 上它将安装 php5-dev。
                        【解决方案17】:

                        这可能对 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.so 是启动还是失败?

                        【讨论】:

                          【解决方案18】:

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

                          【讨论】:

                          • 在这种情况下 /usr/bin 不在您的 PATH 中,但我猜应该是。做PATH=$PATH\:/usr/bin; export PATHphpize 将来会起作用。
                          • 我收到此错误消息“找不到 ffmpeg 共享库。确保使用 --enable-shared 选项将 ffmpeg 编译为共享库”我正在使用此命令“phpize”它正在工作,但是当e我正在运行这个“./configure && make”这个错误来了
                          猜你喜欢
                          • 2010-11-08
                          • 2014-08-28
                          • 1970-01-01
                          • 2012-04-22
                          • 2013-04-01
                          • 2019-04-17
                          • 2011-07-18
                          • 2022-06-13
                          相关资源
                          最近更新 更多