Trying to install Magento 2.2 locally on my Windows computer with MAMP. Received an error that the following PHP extensions were missing:
PHP Extension xsl and
PHP Extension intl
I went into the appropriate php.ini file for my version of PHP and removed the ; from infront of ;extension=php_xsl.dll and ;extension=php_intl.dll and restarted the server. The xsl.dll file works, but the intl.dll file is still missing.
I have checked and the extensions appear in the correctly in the file structure. Scratching my head.
SSHed and installed the correct extensions from the Sury PHP 7.2 library to my localhost
Related
I've been making upgrades on my Dev workstation using XAMPP for a long time now, from the various version 7s up through 8.012.
I seem to have hit a wall upgrading to 8.1.
I've edited the apache config to use the new version of php. Taking the php.ini-development and renaming it to php.ini, then uncommenting the openssl extension has no effect after I restart apache:
extension=openssl
Openssl isn't enabled in the php info page:
And if I try and enable mongodb by moving my extension over from the previous installation, and uncomment the extension in php.ini and restarting apache again I get an error:
extension=php_mongodb.dll
Update: I now find that enabling ANY PHP module does not work under PHP 8.1.
I can roll back to the previous version of php-8.0.12 and have a fully functioning php again. When I roll back to the previous version enabling and disabling PHP modules still works. It does not work under PHP 8.1.
I'd like to stay up to date with the latest release if at all possible!
What am I doing wrong with this version of PHP? Why can't I enable anything?
I've had to set the FULL PATH to the extensions directory on Windows. Once I did that and restarted, I was able to enable / disable extensions. Look for this line in php.ini and adjust it to your needs:
; On windows:
extension_dir = "C:\xampp\php-8.1.0\ext\"
This setting only seems important on Windows. Set that line the way you want it, restart apache and you should be good to go!
You are copying an incompatible module compiled with the older version. If you are upgrading the PHP version, You'll need an extension DLL file compiled with that specific version of PHP and suitable for your server environment. You can download the compatible packages from here PECL. Download and put the .dll file in your extension directory. Then, you'll need to enable that extension.
Here is the guide for the windows system Installing a PHP extension on Windows.
For MongoDB, get it here https://pecl.php.net/package/mongodb
I am trying to run a basic cake 3.7 application, however after I create a new project I get a You must enable the intl extension to use CakePHP. According to CakePHP, XAMPP comes with intl extension it just needs to to be enabled via php.ini. I enabled the extension and restarted the server and it did not work. I look inside my extensions directory xamppfiles/lib/php/extensions/no-debug-non-zts-20170718 and could not find the required extension. My question is how do install and enable this extension to satisfy the requirement error?
I've just double-checked and indeed Xampp is coming with php_intl.dll (in your /php/ext folder).
You can enable this extension easily in your php.ini file:
Edit php.ini and remove ; on this line ;extension=php_intl.dll
Restart Xampp
I have downloaded wamp server from http://www.wampserver.com/en/ in my Windows 8 laptop which is a 32 bit system.
On clicking on the pink wamp server icon on the desktop the i get the following error:
PHP Startup:Unable to load dynamic library
'c:/wamp/bin/php/php5.5.12/ext/php_intl.dll'- The specified module
could not be found.
what should I do?
I have already tried uninstalling and re installing the program several times, but the same problem persists.
copy the icu*.dll files to your apache's bin directory. If it is not working in bin directory then copy it in you apache's directory.
OR
You can add c:/wamp/bin/php/php5.5.12/ in your system's PATH
I was getting the same error on Mac. I installed PHP INTL using HomeBrew.
For php 7.1 install INTL with this terminal command:
brew install php71-intl
Activate intl extension in php.ini. Use php --ini to check the configuration path.
intl.default_locale = en_utf8
intl.error_level = E_WARNING
intl.use_exceptions = 0
I added path to the PHP folder in the system PATH environment and it helped me.
I downloaded PHP 5.5. for Windows and trying to install Composer.
Later I found that Composer need Zip extension. But php_zip.dll file is missing from PHP 5.5 zip I downloaded from php.net website.
Where can I find this missing php_zip.dll?
Thanks in advance.
Found the Answer.
Remove ;extension=php_zip.dll line in php.ini.
Restart Apache HTTP Server.
Previous versions of PHP shipped with separate php_zip.dll file in ext folder. And we need to enable (comment out the ;extension=php_zip.dll line in php.ini) the zip extension manually.
Latest version - PHP 5.5 includes this zip support in core and it is enabled by default.
But the line ;extension=php_zip.dll was left there in php.ini even though it is not needed.
As usual after installing PHP 5.5, I enabled (commented out) ;extension=php_zip.dll line in php.ini, thinking that it is a separate extension.
In this case, Composer couldn't find php_zip.dll.
I removed the ;extension=php_zip.dll line in php.ini.
Restarted Apache HTTP Server.
Worked fine.
The PHP 5.5 build for Windows that I installed from windows.php.net did not come with /ext/php_zip.dll, so I had to download the latest dll file for my Windows 8 x64 Non-Thread-Safe system and copy it into my php ext directory: http://pecl.php.net/package/zip/1.12.4/windows
MYSQL and apache server are already installed on my server.
But still I encountered these problem.
I dont understand the terms to compile php with --with-mysql
Where should i compile? i am using window server.
or how to install the mysql.so module??
Checking environment...
Please include all of the lines below
when reporting installation problems.
PHP 5.2.14 installed Could not find a
suitable database driver! For MySQL,
compile PHP using --with-mysql, or
install the mysql.so module For
PostgreSQL, compile PHP using
--with-pgsql, or install the pgsql.so module For SQLite, compile PHP using
--with-pdo_sqlite, or install the pdo_sqlite.so module For MSSQL,
compile PHP using
--with-mssql_not_ready, or install the mssql_not_ready.so module For DB2,
compile PHP using --with-ibm_db2, or
install the ibm_db2.so module For
Oracle, compile PHP using --with-oci8,
or install the oci8.so module
Look in /php_install_dir/extensions. There should be a file named "php_mysql.dll". If so, enable it in php.ini. If not, download the dll, copy it to the extension dir and enable in php.ini. Remember to restart Apache.
See this page for more info (make sure you read the comments).
Changed this in php.ini. Shouldn't the installer have done this for a Windows installation?
; enable_dl = Off
; CHANGED - This is necessary to enable dynamic loading of Windows .dll modules
; The immediate problem was that PHP could not find a database driver for MySQL
enable_dl = On
For PHP: 5.6.10 and MySQL: 5.0.24a
Go to the root folder of PHP installation
Find a file called php.ini-production
Save the file as php.ini
Edit the file and uncomment the following contents
;extension=php_mysqli.dll
;extension_dir = "ext"
and replace it with,
extension= php_mysqli.dll
extension_dir = "D:\Programs\php\ext”