Reputation: 12447
I have been meaning to install ffmpeg
as an extension to my PHP setup. So before I can install it, I need to phpize
it. I installed php5-dev
by sudo apt-get install php5-dev
. But now when I run phpize
I get the following error :
phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module
The location of my php.ini is /usr/local/zend/etc/php.ini
From another online resource I tried this
sudo apt-get install autoconf automake libtool m4
But all of them are already installed.
Locate config.m4 didn't return anything.
Any pointers here how I can get phpize
and thus, ffmpeg
up and running?
Upvotes: 280
Views: 610967
Reputation: 6370
For PHP7 Users
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
If not sure about your PHP version, simply run command php -v
Upvotes: 85
Reputation: 8063
I am using XAMPP on Linux mint and it is by default installed if your don't have
sudo apt-get install php7.0-dev
// or
sudo apt-get install php-dev
Upvotes: 0
Reputation: 1013
You didn't specify what operating system you're using, and 90% of the answers assume Ubuntu/Debian Linux because of the apt-get install autoconf automake libtool m4
command that you posted (and over half expect you to be running CPanel), so I'm giving you a slightly more generic solution which ought to work on any Un*x clone (including Microsoft's WSL!).
You will need at least a few prerequisites:
aptitude
, as shown on the other answers, you ought to be fine with just sudo apt install php-dev
. Beware of the mentioned caveats: you might end up with a slightly more unstable version of PHP which might not be updated correctly with future versions.ffmpeg-php
is not one of them...ffmpeg-php
. Allegedly, the original repository for that was hosted at Sourceforge but has been abandoned in 2007. The recommended package these days is PHP-FFMpeg which is constantly being updated, and ought to be easily installed using composer
— get it before starting your compilation!Alternatively, instead of relying on an external non-official PHP extension (albeit one that is both popular and updated regularly!), you ought to launch the ffmpeg
binary using shell_exec()
. This is the officially recommended approach, mostly because converting videos always takes a long time, and the authors of that recommendation suggest a simple architecture where the PHP script basically launches ffmpeg
in the background, accepting batches of videos for processing. The page is a bit old, but the technique shown is sound.
Upvotes: 0
Reputation: 91
If you're having problems with phpize not found on CentOS7.x after you have installed the relevant devel tools for your version/s of PHP, this path finally worked for me:
For PHP 7.2.x
/opt/cpanel/ea-php72/root/usr/bin/phpize
For PHP 7.3.x
/opt/cpanel/ea-php73/root/usr/bin/phpize
For PHP 7.4.x
/opt/cpanel/ea-php74/root/usr/bin/phpize
Run this in your folder containing the downloaded PHP extension, for example in line 3 below:
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
Upvotes: 6
Reputation: 6174
For recent versions of Debian/Ubuntu (Debian 9+ or Ubuntu 16.04+) install the php-dev
dependency package, which will automatically install the correct version of php{x}-dev
for your distribution:
sudo apt install php-dev
For PHP 5, it's in the php5-dev package.
sudo apt-get install php5-dev
For PHP 7.x (from rahilwazir comment):
sudo apt-get install php7.x-dev
yum install php-devel # see comments
Upvotes: 615
Reputation: 31
For ubuntu with Plesk installed run apt-get install plesk-php56-dev
, for other versions just change XX in phpXX (without the dot)
Upvotes: 1
Reputation: 4880
I had this exact problem on macOS in 2018.
For me, first running brew install php
before sudo pecl install mongodb
did the trick.
Upvotes: 0
Reputation: 2393
Step - 1: If you are unsure about the php version installed, then first run the following command in terminal
php -v
Output: the above command will output the php version installed on your machine, mine is 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
Step 2: Then to install phpize run the following command, Since my php version is 7.2.3. i will replace it with 7.2, so the command will be,
sudo apt-get install php7.2-dev
Step 3: Done!
Alternate method(Optional): To automatically install the phpize version based on the php version installed on your machine run the following command.
sudo apt-get install php-dev
This command will automatically detect the appropriate version of php installed and will install the matching phpize for the same.
Upvotes: 9
Reputation: 834
For instance, if you wanted to use the "phpize" command for PHP 5.6, you would use the full path: Code:
/opt/cpanel/ea-php56/root/usr/bin/phpize
Upvotes: 1
Reputation: 13
Go to the downloaded folder and there you find config.m4. Open the terminal and run phpsize.
Upvotes: 0
Reputation: 290415
Under Redhat Enterprise / CentOS, use yum
to install the php-devel
module:
yum install php-devel
For PHP 7, you need:
yum install php70-php-devel
Upvotes: 16
Reputation: 776
In Ubuntu 16.04, you can install phpize
with the command
aptitude install php7.1-dev // for php 7.1
which is equivalent to
apt-get install php7.1-dev // for php 7.1
Upvotes: 5
Reputation: 2795
Install from
linux
terminal
sudo apt-get install <php_version>-dev
Example :
sudo apt-get install php5-dev #For `php` version 5
sudo apt-get install php7.0-dev #For `php` version 7.0
Upvotes: 2
Reputation: 1247
Hmm... actually i dont know how this solved it? But the following steps solved it for me:
find / -name 'config.m4'
Now look if the config.m4 is anywhere in a folder of that stuff you want to phpize. Go to that folder and run phpize directly in there.
Upvotes: 8
Reputation: 776
For ubuntu 14.04LTS with php 7, issue:
sudo apt-get install php-dev
Then install:
pecl install memcache
Upvotes: 6
Reputation: 4349
This might help someone on ubuntu. No promises.
sudo apt-get install libcurl3 php5-dev libcurl4-gnutls-dev libmagic-dev
sudo apt-get install php-http make
sudo pecl install pecl_http
And adding "extension=http.so"
to php.ini (Normally located at /etc/php5/apache2/php.ini
)
Then restart Apache (sudo service apache2 restart
).
If in doubt, check your apache logs:
sudo su --
cd /var/log/apache2
tail -25 error.log
Is http.so starting or failing?
Upvotes: 1
Reputation: 12447
Ohk.. I got it running by typing /usr/bin/phpize
instead of only phpize
.
Upvotes: 30