Because I already use ASP.NET I decided to use PHP on IIS, I install it using Wep PI but when I trying to install Composer he fails with PHP settings error.
I tried to change the extension_dir to absolute and uncommented php_wincache extension in php.ini but none of my solutions works
C:\Program Files (x86)\iis express\PHP\v7.2\php.exe
The php.ini used by your command-line PHP is: C:\Program Files (x86)\iis express\PHP\v7.2\php.ini
A setting in your php.ini could be causing the problem: Either the 'extension_dir' value is incorrect or the dll does not exist.
Program Output:
PHP Warning: PHP Startup: Unable to load dynamic library 'php_wincache.dll' (tried: C:\Program Files (x86)\iis express\PHP\v7.2\ext\php_wincache.dll (%1 n’est pas une application Win32 valide.), C:\Program Files (x86)\iis express\PHP\v7.2\ext\php_php_wincache.dll.dll (Le module spécifié est introuvable.)) in Unknown on line 0
It's a little late to answer this question. But I also face the same issue and somehow able to resolve it. Please follow below steps to resolve this.
Step 1: Install Windows Cache Extension for PHP.
You can install it from http://php.net/manual/en/wincache.installation.php
Or you can use Web Platform Installer. (Please see the screenshot.)
Step 2: After installation goes to folder "Windows Cache for PHP". Copy php_wincache.dll.
Step 3: Paste copied file into your PHP/ext location. e.g. "C:/Program Files/PHP/v7.0/ext".
Now you can try to install composer again.
I hope this will help you.
I've had the same problem and found the answer on PHP Manual.
The wincache version for 7.0 is compiled for php7.dll not the thread
safe php7ts.dll. You may need to compile the source for wincache or
change to the non thread safe version.
Guess is you have installed the "thread safe" version of PHP, and you don't have php7.dll which WinCache needs.
Related
I had previously multiple installations of PHP on my computer. I deleted all of them and reinstalled php from the official source which is now found at C:\\php.
The symfony serve command (ran from PhpStorm console) looks for missing modules in the wrong directory. (I don't even have xampp anymore, but even if I copy the files to the location it tries, it doesn't work) Xampp folder is not in my Path env variable either.
Warning: PHP Startup: Unable to load dynamic library 'php_ftp.dll' (tried: C:\xampp\php\ext\php_ftp.dll (The specified procedure could not be found.), C:\xampp\php\ext\php_php_ftp.dll.
dll (The specified module could not be found.)) in Unknown on line 0
Any ideas on this?
run symfony local:php:refresh to fetch available PHP version of your systems.
local:php:list for list locally available PHP versions
First problem turns out to be that PhpStorm does not see my PHP installations on C: for some kind of weird permission error. (PATH was correct).
The compiled Windows version of PHP downloaded from php.net defaults the extension folder to C:/php, which had to be overriden using php.ini's extension_dir="D:/php/ext" directive.
I want to add phpmail to my php Server. The server is a windows machine. I searched for it and found out that the best way to install it is with composer. I'm having trouble getting composer to install due to php.ini issues.
I am getting the following error:
*The PHP exe file you specified did not run correctly:
C:\php\php.exe
The php.ini used by your command-line PHP is: C:\Windows\php.ini
A setting in your php.ini could be causing the problem: Either the 'extension_dir' value is incorrect or the dll does not exist.
Program Output:
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\pdo_odbc' - The specified module could not be found.
in Unknown on line 0*
I tried searching the net for pdo_odbc but am not sure what I'm looking for. where can I get the missing dll?
I finally got composer to install. I had to first, rename the ODBC DLL from PHP_pdo_odbc.dll to pdo_odbc.dll. Then I got a message about SSL not being enabled. I first had to enable it in php.ini. Again I had to rename the DLL for SSL from PHP_openssl.dll to openssl.dll. Then Composer installed. Why did PHP install with the DLL's named differently than composer was expecting? Or is this a composer issue or the fact that it's PHP on windows? From there I installed PHPmailer and sent my first piece of mail. This is so much more complicated than coding in .Net
Greeting developers, I want to learn laravel framework for my project. For that i follow some instruction in google to install it . i should have composer to install it. i try to download composer but there have some errors.the error is:
The PHP exe file you specified did not run correctly:
C:\xampp\php\php.exe
The php.ini used by your command-line PHP is:
C:\xampp\php\php.ini
A setting in your php.ini could be causing the problem: Either the 'extension_dir' value is incorrect or the dll does not exist.
Program Output:
PHP Warning: PHP Startup: Unable to load dynamic library 'php_mysql.dll' (tried: C:\xampp\php\ext\php_mysql.dll (The specified module could not be found.
), C:\xampp\php\ext\php_php_mysql.dll.dll (The specified module could not be found.
)) in Unknown on line 0
i try to resolve it. i check the php.ini file all looking good only. Is that because of i am using xampp server 7.2.0. I am really need a solution.
Turning the comment by ArtisticPhoenix into an answer.:
I would say the opposite, you need to remove it (comment it out with ;php_mysql.dll) from the php.ini. Because its been deprecated and "removed" in PHP7. Also just looking at what you posted C:\xampp\php\ext\php_php_mysql.dll.dll php_php_mysql.dll.dll ? seems weird. Double you fun, 2 php_ and dll extensions... lol
ArtisticPhoenix Sep 29 '18 at 7:54
I tested it successful.
So I've installed 64bit Apache/PHP locally. Both Apache and PHP were compiled against the VC11 C++ redistributable.
https://www.apachelounge.com/download/VC11/ and
http://windows.php.net/download/ PHP5.6 (Yes... ) x64 Thread Safe (respectively)
Both work fine! (screenshots with version and architecture info inc.)
I've downloaded multiple varaities of the 1.6.x driver from both PECL and an repo' at Amazon.
https://pecl.php.net/package/mongo/1.6.14/windows
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
I've made sure they're the x64 Thread Safe variety and added to my ~/php/ext folder.
I've made sure the extension is loaded in php.ini (and that the write .ini file is called):
extension=php_mongo-1.6.8-5.6-vc11-x86_64.dll
But everytime I restart Apache I get this in my PHP error log:
[07-Jun-2017 20:21:20 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'E:\PHP5.6\ext\php_mongo-1.6.8-5.6-vc11-x86_64.dll' - %1 is not a valid Win32 application.
(Apache comes up clean. Error.log clean)
Why is it protesting that this is not a Win32 Application. I don't want it to be. My entire architecture is 64bit and so is the Mongo Driver.
In case anyone else comes across this thread. After hours of trying to get it to run I just downgraded everything to 32-bit. Worked right out the gate.
Despite PECL offering a "64bit" driver - https://pecl.php.net/package/mongo/1.6.14/windows it didn't seem to be compatible with 64bit/VC11/Thread Safe versions of Apache/PHP
I'm not sure if this is an issue with the Mongo driver compilation or something deeper?
Anyway. Downgrade to 32-bit. Mongo 1.6.x drivers will then run.
From php.net
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the PATH: libsasl.dll
http://php.net/manual/en/mongo.installation.php#mongo.installation.windows
Simply copy libsasl.dll from your PHP directory to your Apache\bin directory and restart Apache.
It is possible that a dependency is missing. Where I suspect that to be libsasl as alluded to in the comment at http://php.net/manual/en/mongodb.requirements.php
The libsasl.dll can be found in the PHP distribution.
I'm trying to use the Firebird extension in PHP. I've got the extension files (php_pdo_firebird.dll, php_interbase.dll) in my ext folder. I'm adding them in my php.ini file like so
...
[PHP_PDO_FIREBIRD]
extension=php_pdo_firebird.dll
[PHP_INTERBASE]
extension=php_interbase.dll
...
No errors are being thrown saying the extensions could not be loaded and yet whenever I print my phpinfo I don't see either of them listed. What am I missing here?
For what it's worth, I'm running PHP version 5.3.14 TS using Apache 2.2 on Windows 7.
Edit: It seems some errors are being logged, it's just that my error_log setting was being overwritten (for those seeing this, double check C:\Windows\Temp\php-errors.log). Now it's telling me the specified modules could not be found whenever the file clearly exists.
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\Program Files (x86)\PHP\ext\php_pdo_firebird.dll' -
The specified module could not be found.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\Program Files (x86)\PHP\ext\php_interbase.dll' -
The specified module could not be found.
in Unknown on line 0
Figured it out! Okay, first to get the basics out of the way:
Make sure the version of the DLLs matches your PHP version.
For those who use the Windows installer, for some reason it doesn't provide an option to include the Interbase and Firebird modules so you'll have to download the matching .zip file and copy them from the ext folder in there.
Double check for any typos, such as unescaped backslashes, in your extension_dir setting. This only applies if the value isn't "wrapped in quotation marks."
Now for the coup de grace. That error message is extremely misleading. At this point it should be finding your DLLs but it's missing one integral piece: fbclient.dll which can be found in the bin folder of your Firebird installation. Everywhere I read before said to place fbclient.dll in the ext folder but it only works if you put it in the root of your PHP folder.
Hope this helps future wayward souls :)