how to install ffmpeg on localhost - php

There is a lot of topics on this but after hours of reading i am still getting no where.
I have found a lot of issues wit this.
people have given links to files that no longer exist
the help people have given refers to files that aren't included with the download
This is the nearest i have found
link
I followed this exactly, after finding a different version of the file broken link
version I found version available at sourceforge which isn't very helpful.
Steps as decribed:
unzip
copy ffmpeg.exe somewhere and remember the path for later use
move php_ffmpeg.dll to php extension dir (usually c:\xampp\php\ext)
move all other files to Windows\System32 (except COPYING.GPLv3.txt,
readme.txt)
add extension=php_ffmpeg.dll to php.ini (usually
c:\xampp\php\php.ini)
restart apache with fingers crossed questions/answers
http://www.apachefriends.org/f/viewtopic.php?f=16&t=41913
But when I restart apache I get the error:
The program can't because avcodec-51.dll is missing
AND
PHP startup: Unable to load dynamic libary php_ffmpeg.dll can't be found
The php_ffmpeg file is in the apache extention folder and has been declared in the php.ini file. I don't really change many settings in my php.ini file so I just put iy at the top of the extentions, if this is the problem please let me know.
extension=php_ffmpeg.dll <---first extention added
extension=php_bz2.dll <---- this was allready there
If anybody knows an easy way to install this on a localhost I would really appropriate and if I'm having this much trouble on localhost should I bother trying to get this working on my lunix server.
(I am using xampp on windows and my lunix server is hosted through 1and1 - not my first choice but its for a friends site)

Related

PHP Startup: Unable to load dynamic library php_pdo_firebird

I am trying to upload a 35Mb XML file.
But i got this error in the error_log from php
[22-Feb-2018 10:03:12 Europe/Belgrade] PHP Warning: PHP Startup:
Unable to load dynamic library 'C:\Program Files
(x86)\PHP\v5.6\ext\php_pdo_firebird.dll' - The specified module could
not be found.
How can i debug this??
The php_pdo_firebird.dll is only an interface between PHP and the firebird engine. So you need firebird installed and also the php-pdo-firebird.dll needs to be able to find fbclient.dll
Try copying fbclient.dll into \wamp\bin\php\php7.1.10
If you also need access from Apache you may need to copy fbclient.dll into \wamp\bin\apache\apache{version}\bin as well and also amend the php.ini file that controls PHP under apache. Do that by using the wampmanager menus to edit the correct php.ini file like this
left click wampmanager icon -> PHP -> php.ini
For me, it got fixed after copying fbclient.dll file into the php installation folder. You have to download the Zip kit for manual/custom installs from the firebird website. You can find the file there. 64 bit version worked.
Download the 32 bits zip package from the firebird site. in the bin dir there is a fbclient.dll. Copy this dll to the php dir. (Not to the extension dir) and everything works.
Answer Reference
Author Name: ronaldk
copying fbclient to php bin did not work for me (and I spent a whole day trying to copy different versions of it).. instead copy it to apache/bin folder and it works (for me it was 64x version that worked)
The best thing to do is simply comment it out if you don't need it
; PHP_PDO_FIREBIRD

Cannot load imagick library

I have installed the imagick from here (ImageMagick-7.0.3-1-Q16-x64-dll) and the dll (TS 32 bit) from here. And also copiend the CORE_RL_* to the C:\xampp\apache\bin BUT still i get the following error when i run the laravel server.
ERROR: Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_imagick.dll' - The specified module could not be found.
in Unknown on line 0
Also, I placed dll file in C:\xampp\php\ext\php_imagick.dll.
Also, the imagick is shown in the phpinfo().
And when i use it using laravel i get the following error.
getting Imagick to work on Windows has always been a bit hit and miss as pointed out here is a good guide
http://stackoverflow.com/a/36378764/1090867
But it misses an important point
You do not need to put the binary into the PHP folder!
So here are the steps I follow myself every time I need to do this. This should work for apache, Nginx, or IIS.
Step 1
find out your php version and setting
You need to version, Architecture, Compiler and Thread Safety
if Thread Safety is disabled this is NTS is enabled it will TS
Step 2
Get and install a copy of ImageMagick and make sure it matches your Architecture, this also needs to be dll.exe rather than the static version.
Regarding Q8 and Q16 I'll leave that to you but both versions will work
Link
I recommend changing the install directory name to something generic like
C:\Imagemagick since I've had some problems in the past with the default directory name with PHP and windows.
Just install but make sure you tick add application path and I normally tick the legacy utils as well.
Once it's installed go to your environment variables and make sure it is actually in the path. There is no need to copy anything to your PHP folder
Just to make sure everything is working open the command line and type convert --version you should get a response
Step 3
This unfortunately is the hard part and can be a bit of trial and error. I've found the following provides the best php_imagick.dll that seems to work 9 times out of 10
http://www.peewit.fr/imagick/
Just pick the version that matches your install.
If this doesn't work then go to php.net and try each version until one works... (start at the latest)
http://windows.php.net/downloads/pecl/releases/imagick/
Once you have a php_imagick.dll put it into your php/ext/ folder
thne locate your php.ini file go to the bottom (or whereever your extensions are) and add extension=php_imagick.dll
Step 4
Restart PHP (or your computer) and it should be working if not try a different php_imagick.dll and repeat.
If the above doesn't work
Then try a slightly older version of Imagick I normally use version 6.8.6-8 Q16.
Please note I've only ever really done this on Windows 7 and Windows Server 2008, 2008 R2, 2012, and 2012 R2 all x64 with x86 PHP
If this still doesn't work then you probably need to copy over the CORE_RL files into your Imagick directory this normally causes more issues but if you are running out ideas then give it a go
I just ran into this issue. Only I'm using PHP on the command line (PHP CLI). The problem is the dependencies that the main php_imagick.dll file has. PHP will attempt to load the extension but since Windows can't find the CORE_RL_ DLLs, the extension will fail to load and the error/warning message about being unable to load the DLL will appear. It helps to know how Windows loads DLLs:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx
It's pretty convoluted but you can see that the reason the Apache /bin directory trick works with Apache is that httpd.exe is located in that directory. However, when using PHP CLI, the DLLs need to be located in the same directory as php.exe.
If you don't want duplicate DLLs floating around, add the directory containing php.exe to the system PATH and plop all the CORE_RL_ DLLs there. The PATH is the last thing searched, but it'll work fine. If you don't want spurious entries in your system PATH, then set the extra PATH information only during startup of Apache.
This is because the dependencies are missing. Those who are facing the same error Unable to load dynamic library 'php_imagick', Please follow the below steps
Go to https://pecl.php.net/package/imagick choose a stable version and click on the DLL link.
From the DLL list click the link which, is suitable for your PHP version.
After downloading the php_imagick zip file, extract it and copy the php_imagick.dll file to C:\xampp\php\ext folder.
Extract all DLL files from the php_imagick zip file (except php_imagick.dll) to the PHP root directory (where you have php.exe). Ex: For XAMPP user C:\xampp\php folder.
Add extension=php_imagick to your php.ini file.
Restart the Apache server.
Things to keep in mind before choosing from the DLL list.
Check the PHP version.
Check the architecture (x64/x86).
Check Thread Safety (enabled/disabled).
N.B: Above solution is for XAMPP users only.
I changed php_imagick in php.ini file to php_imagick.dll and it happened
I had the same problem. It turns out I have to install complete ImageMagic application, not just ImageMagic php extension.
And I also set MAGICK_HOME environment variable.

Facebook needs PHP Curl Extension issue with php.ini file

I am trying to setup a local version of a website that I can do some testing on. Currently when I open the site in my browser I get this php error:
( ! ) Exception: Facebook needs the CURL PHP extension. in
C:\wamp\www\mysie.tld\includes\facebook-graph\base_facebook.php on
line 19
So I did a bit of reading up and saw that this was most likely due to my WAMPserver not having the extension enabled for PHP. I did a phpinfo() and this output the .ini file that was being loaded.
C:\wamp\bin\apache\apache2.4.2\bin\php.ini
I opened this file up in my text editor and removed the semi colon before this line:
extension=php_curl.dll
I then restarted the WAMPServer and reloaded my site. Unfortunately, the error persisted and I do not know what I can do to fix it! Any help would be much appreciated.
Managed to figure it out with a quick scan through some similar questions on SO. If anyone is running into the same issue it was due to a bug in the curl.dllfile that came with WAMP 2.2. In order to rectify the issue I downloaded the php_curl-5.4.3-VC9x64.zip from this link:
https://code.google.com/p/justintung/downloads/detail?name=php_curl-5.4.3-VC9-x64.zip&can=2&q=
I then moved and replaced the curl.dll file in the downloaded folder with the curl.dll file located in my php ext directory.
Restarted WAMP and the problem was resolved.

Load php_oauth.dll into local server

I'm facing problem to load the php_oauth.dll extension for my xampp. I downloaded the php_oauth.dll and added extension=php_oauth.dll in php.ini , but when i restart my apache, it cannot start the server anymore.
I'm using window 7 ,64bits.
Initially, I download the file from
http://downloads.php.net/pierre/
but i found that it was 32bits file , so I'm searching fo 64bit and found out
http://www.mediafire.com/php-win64-extensions
unfortunately,I still cannot load the oauth. Any solution to solve it? I look through many article, but it seems like dont have it, anyone can provide ,so that, others that using win 64bit can follow
Thank you!
This looks to be like a path problem. Make sure the extension is store in the correct extension directory.
The settings of this can be found inside php.ini as something like
extension_dir = C:\php\extensions
By default this is ext folder inside PHP installation.
Or, follow the instruction from PHP manual while installing extensions, if you are not sure what you are doing.

MySQL not working with php; and crashing apache when enabled

I just recently setup a fresh install of PHP, Mysql and Apache on my Windows 2003 server. Php is working fine and my Navicat MySQL browser can connect to my tables. However no matter what I do. MySQL doesn't show in phpInfo() even though I have the extensions in my ext folder. I installed PHP via the windows binary installer. Any idea what I'm missing? I'm pretty new to PHP is this is the first time I've tried to setup my own server I'm sure I'm missing something simple. Thanks.
--- EDIT ---
So as suggested by Alan Geleynse I added the extension to my php.ini, now Apache crashes every time I try to enable php_mysql.dll any ideas on this one? I may just restart my php from scratch if this is any more trouble.
You probably need to enable the extension in your php.ini
Search through php.ini for extension and you should see a list, some of which will be commented out. If you remove the comment for MySQL, it should load the extension.
If you do not see it, you should be able to add this line to your php.ini. Make sure that the dll listed is the one you want and is located in your extension directory.
extension=mysql.dll
Seems the issue was not only a missing php_mysql.dll but I was also missing libmysql.dll The installer still borked the install of the extension files though. Oh well it happens thanks to everyone for the help.
Probably apache crashes because of missing dll. There is probably a directory 'ext' in your php installation dir. Check whether there is a 'php_mysql.dll' file in it.
Also, check for directive 'extension_dir' in your php.ini, it must point to the location of extensions directory. For example, I have php installed in 'C:\php' and 'C:\php\ext' folder in it. My php.ini contains line:
extension_dir = "C:/php/ext"
I just fixed this problem on my computer by copying libMysql.dll from the MySql server directory to c:/windows/system32/, just a few minutes ago.

Categories