Reputation: 1625
On Mac OSX Mavericks using homebrew php55 whenever I run a a php command I get the following error message (everything runs fine it's just annoying)
PHP Warning: Module 'intl' already loaded in Unknown on line 0
I ran
php --ini
and the output was
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
Checked in the php.ini file and the only place intl is loaded is at the top and it's commented out. The other files contents look something like:
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
where the contents after the last slash is the extension.
I'm not sure where else to look.
Any help is appreciated
Upvotes: 118
Views: 357751
Reputation: 358
If you install PHP using MacPorts (I know, call me a dinosaur), it doesn't create a php.ini file. Instead it creates a bunch of ini files in /opt/local/var/db/php82
(or whatever version you installed) which are also read. If you create a php.ini yourself, and assume you have to add the extensions, as any sane person would, you will see this error.
This is what my installation looks like.
% ll /opt/local/var/db/php82
total 144
drwxr-xr-x 21 root admin 672 Nov 17 07:22 .
drwxr-xr-x 5 root wheel 160 Nov 16 19:23 ..
-rw-r--r-- 1 root admin 231 Nov 17 06:52 curl.ini
-rw-r--r-- 1 root admin 227 Nov 17 06:51 gd.ini
-rw-r--r-- 1 root admin 237 Nov 17 06:53 gettext.ini
-rw-r--r-- 1 root admin 233 Nov 17 06:53 iconv.ini
-rw-r--r-- 1 root admin 231 Nov 17 06:56 imap.ini
-rw-r--r-- 1 root admin 231 Nov 17 06:52 intl.ini
-rw-r--r-- 1 root admin 239 Nov 17 06:55 mbstring.ini
-rw-r--r-- 1 root admin 235 Nov 17 06:57 mcrypt.ini
-rw-r--r-- 1 root admin 257 Nov 17 06:58 mysql.ini
-rw-r--r-- 1 root admin 300 Nov 17 07:02 opcache.ini
-rw-r--r-- 1 root admin 237 Nov 17 06:58 openssl.ini
-rw-r--r-- 1 root admin 237 Nov 17 06:58 sockets.ini
-rw-r--r-- 1 root admin 260 Nov 17 07:03 sqlite.ini
-rw-r--r-- 1 root admin 231 Nov 17 07:02 tidy.ini
-rw-r--r-- 1 root admin 298 Nov 17 07:22 xdebug.ini
-rw-r--r-- 1 root admin 235 Nov 17 06:57 xmlrpc.ini
-rw-r--r-- 1 root admin 229 Nov 17 07:02 xsl.ini
-rw-r--r-- 1 root admin 229 Nov 17 07:00 zip.ini
cat /opt/local/var/db/php82/mysql.ini
; Do not edit this file; it is automatically generated by MacPorts. Any changes
; you make will be lost if you upgrade, uninstall or deactivate php82-mysql.
; To configure php82, edit /opt/local/etc/php82/php.ini.
extension=mysqli.so
extension=pdo_mysql.so
There is no /opt/local/etc/php82/php.ini
. Instead there are two files: php.ini-development
and php.ini-production
, which you can use as templates for your php.ini.
Upvotes: 0
Reputation: 41
I resolved this issue by removing php.ini file from extension=grpc commenting like this ;extension=grpc
Upvotes: 0
Reputation: 97
I am using WAMP in Windows 10 with PHP 7.2.10. I was able to solve it through commenting the line extension=ftp
in php.ini inside wamp64\bin\php\php7.2.10 .
I am unsure but my guess why this happens is that my php.ini inside wamp64\bin\apache\apache2.4.35\bin already loads this module.
Be sure to restart all services of WAMP after doing so.
Upvotes: 0
Reputation: 1
If you are on shared hosting, just apply the default php settings. Cpanel overrides php settings to default.
Upvotes: 0
Reputation: 1061
Run php --ini
and notice file path on Loaded Configuration File
.
Then run command like cat -n /etc/php/7.2/cli/php.ini | grep intl
to find if the extension is commented or not.
Then update loaded configuration file by commenting line by adding ;
such as ;extension=intl
This can happen when you install php-intl
package and also enable the same extension on php.ini
file.
Upvotes: 0
Reputation: 11
In Windows 10, I fix this by comment like this
;extension=php_sockets.dll
Upvotes: 0
Reputation: 2402
I think you have loaded Xdebug probably twice in php.ini
.
check the php.ini
, that not have set xdebug.so
for the values extension=
and zend_extension=
.
Check also /etc/php5/apache2
and /etc/php5/cli/
. You should not load in each php.ini
in these directories the extension xdebug.so
. Only one file, php.ini
should load it.
Note: Inside the path is the string /etc/php5
. The 5 is the version of PHP. So if you use another version, you always get a different path, like php7
.
Upvotes: 96
Reputation: 3385
For shared hosting, in cPanel I unchecked the Module in question under "Select PHP Version" > "Extensions" and the error disappeared for PHP 7.4.
Upvotes: 3
Reputation: 2818
I figured this out by printing the PHP configuration and searching by xml.ini. Notice in the following output how xml is loaded twice (first as 20-xml.ini and then as xml.ini):
$ php -i | grep xml
/etc/php.d/20-simplexml.ini,
/etc/php.d/20-xml.ini,
/etc/php.d/20-xmlwriter.ini,
/etc/php.d/30-xmlreader.ini,
/etc/php.d/xml.ini
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
libxml Version => 2.9.1
libxml
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text /|application/xhtml\+xml)
xml
libxml2 Version => 2.9.1
xmlreader
xmlwriter
libxslt compiled against libxml Version => 2.9.1
Upvotes: 1
Reputation: 305
For issue related to code igniter project upload,
go to the base directory index.php and add this code:
if ($_SERVER['SERVER_NAME'] == 'local_server_name') {
define('ENVIRONMENT', 'development');
} else {
define('ENVIRONMENT', 'production');
}
if (defined('ENVIRONMENT')){
switch (ENVIRONMENT){
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Upvotes: 3
Reputation: 1
Comment out these two lines in php.ini
;extension=imagick.so
;extension="ixed.5.6.lin"
it should fix the issue.
Upvotes: 0
Reputation: 91
Just for the record as it might help others who are on shared hosting (cPanel).
I had error on shared hosting php7.2: Module 'imagick' already loaded in Unknown on line 0
In the beginning hosting provider said it was my bad configuration (running Yii2.16). But after I showed them, that all Internet related this issue to server configuration -they started to listen to me. After I proved, that there was no error on php7.1 they started to search for the error.
As they told to me - the error was due to configuration in PERL modules or PEAR package, but they did not told me the real issue.
So, if you are on shared hosting - talk to you provider and experiment with PHP versions (if you can change them).
Upvotes: 0
Reputation: 1
I had a similar problem, the problem was that the extension intl was duplicated.
You can check in file C:/xampp/php/php.ini and find "intl". In my case extension=intl is already present and I scrolled again and found a second intl "extension=php_intl.dll".
The extension must one to execution can't execution extension intl again. This will show error like this "Module 'intl' already loaded".
I fixed it by commenting out extension=php_intl.dll
using ";
" like this ;extension=php_intl.dll
. and restarted the apache service.
Upvotes: -1
Reputation: 1719
In my case I had uncoment the ;extension=php_curl.so in php.ini, but Ubuntu was already calling this extension somewhere else.
To find this "somewhere else", on php.ini will informe. On my case: /etc/php/7.1/apache2/conf.d/20-curl.ini was the path.
So now we edit this file (terminal):
sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini
Comment the ;extension=php_curl.so
Save file and restart apache:
sudo systemctl restart apache2
Upvotes: 7
Reputation: 419
I deleted the 20-mongo.ini file in /etc/php5/cli/conf.d and this solved the problem.
Upvotes: 1
Reputation: 1298
I had the same issue on mac i.e. Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0
.
Here's how I solved it.
conf.d
, mine was in the directory
/usr/local/etc/php/7.0/conf.d
. ext-pdo_pgsql.ini
. sudo nano ext-pdo_pgsql.ini
to edit it.extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
. Comment it
out by adding semi-colon to the beginning of the line i.e.
;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
.Hope this helps someone.
Upvotes: 30
Reputation: 5442
To fix this problem, you must edit your php.ini (or extensions.ini) file and comment-out the extensions that are already compiled-in. For example, after editing, your ini file may look like the lines below:
;extension=pcre.so
;extension=spl.so
Source: http://www.somacon.com/p520.php
Upvotes: 20
Reputation: 13412
I had the same issue after upgrading from Fedora Server 24 (PHP 5) to 25 (PHP 7). After investigation, I found that /etc/php.d/
had two different .ini
files loading extension=geoip.so
.
Previous version of distros had this file named 50-geoip.ini
but the recent was changed to 40-geoip.ini
, and I suspect that in the version-upgrade process the old hasn't been removed, while the new one has been created.
That was the actual case of the issue. After removing stray 50-geoip.ini
from /etc/php.d/
and restarting httpd
it just worked flawlessly.
Upvotes: 2
Reputation: 119
There are two "php_intl.dll" files inside php.ini file on 872 and 968 number lines. if php warning module 'intl' already loaded in unknown on line 0 this message is focused on your CLI. Then you should have to remove the semiclone prefixes on line 872. I expect this will done.....
Upvotes: 0
Reputation: 2092
You should have a /etc/php2/conf.d directory (At least on Ubuntu I do) containing a bunch of .ini files which all get loaded when php runs. These files can contain duplicate settings that conflict with settings in php.ini
. In my PHP installation I notice a file conf.d/20-intl.ini
with an extension=intl.so
setting. I bet that's your conflict.
Upvotes: 13