簡體   English   中英

PHP 警告:模塊已在第 0 行的未知中加載

[英]PHP Warning: Module already loaded in Unknown on line 0

在使用自制 php55 的 Mac OSX Mavericks 上,每當我運行 aa php 命令時,我都會收到以下錯誤消息(一切運行良好,這很煩人)

PHP Warning:  Module 'intl' already loaded in Unknown on line 0

我跑了

php --ini

輸出是

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

簽入 php.ini 文件,加載 intl 的唯一位置在頂部,並且已被注釋掉。 其他文件內容類似於:

extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"

最后一個斜杠后面的內容是擴展名。

我不知道還能去哪里看。

任何幫助表示贊賞

我認為您在php.ini中可能已經加載了兩次Xdebug

  1. 檢查php.ini ,它沒有為值extension=zend_extension=設置xdebug.so

  2. 還要檢查/etc/php5/apache2/etc/php5/cli/ 您不應在這些目錄中的每個php.ini中加載擴展名xdebug.so 只有一個文件, php.ini應該加載它。

    注意:路徑里面是字符串/etc/php5 5是PHP的版本。 所以如果你使用另一個版本,你總是會得到一個不同的路徑,比如php7

我在 mac 上遇到了同樣的問題,即Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0 這是我解決它的方法。

  • 找到文件夾conf.d ,我的文件夾在/usr/local/etc/php/7.0/conf.d目錄中。
  • 在這個文件夾中,有一個名為ext-pdo_pgsql.ini文件
  • 鍵入sudo nano ext-pdo_pgsql.ini進行編輯。
  • 應該有一行extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so" 通過在行首添加分號將其注釋掉,即;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
  • 保存文件。 (我通常運行control + Ocontrol + M )。
  • 退出文件( control + X )。

希望這可以幫助某人。

要解決此問題,您必須編輯 php.ini(或 extensions.ini)文件並注釋掉已編譯的擴展。 例如,編輯后,您的 ini 文件可能如下所示:

;extension=pcre.so
;extension=spl.so

來源:http: //www.somacon.com/p520.php

你應該有一個/etc/php2/conf.d目錄(至少在 Ubuntu 上是這樣),其中包含一堆 .ini 文件,這些文件在 php 運行時都會被加載。 這些文件可能包含與php.ini中的設置沖突的重復設置。 在我的 PHP 安裝中,我注意到一個帶有extension=intl.so設置的文件conf.d/20-intl.ini 我敢打賭那是你的沖突。

在我的例子中,我取消了 php.ini 中的 ;extension=php_curl.so 的注釋,但是 Ubuntu 已經在其他地方調用了這個擴展。

要找到這個“其他地方”,在 php.ini 上會通知。 就我而言: /etc/php/7.1/apache2/conf.d/20-curl.ini 是路徑。

所以現在我們編輯這個文件(終端):

sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini

評論 ;extension=php_curl.so

保存文件並重新啟動 apache:

sudo systemctl restart apache2
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');

對於共享主機,在 cPanel 中,我在“選擇 PHP 版本”>“擴展”下取消選中有問題的模塊,PHP 7.4 的錯誤消失了。

Fedora Server 24 (PHP 5)升級到 25 (PHP 7)后,我遇到了同樣的問題。 經過調查,我發現/etc/php.d/有兩個不同的.ini文件加載extension=geoip.so

以前版本的發行版有這個文件名為50-geoip.ini但最近的已更改為40-geoip.ini ,我懷疑在版本升級過程中舊的尚未刪除,而新的已創建.

那是問題的實際情況。 /etc/php.d/中刪除雜散50-geoip.ini並重新啟動httpd后,它就完美地工作了。

我刪除了 /etc/php5/cli/conf.d 中的 20-mongo.ini 文件,這解決了問題。

我通過打印 PHP 配置並通過 xml.ini 搜索來解決這個問題。 請注意以下輸出中 xml 是如何加載兩次的(首先是 20-xml.ini,然后是 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

在 872 和 968 數字行的 php.ini 文件中有兩個“php_intl.dll”文件。 如果php 警告模塊 'intl' 已經在第 0 行以未知方式加載,則此消息將集中在您的 CLI 上。 然后你應該刪除第 872 行的半克隆前綴。我希望這會完成.....

僅作記錄,因為它可能會幫助使用共享主機 (cPanel) 的其他人。

我在共享主機 php7.2 上遇到錯誤:模塊 'imagick' 已經加載到第 0 行的未知中

一開始托管服務提供商說這是我的錯誤配置(運行 Yii2.16)。 但在我向他們展示之后,所有互聯網都將這個問題與服務器配置相關聯——他們開始聽我的。 在我證明了php7.1沒有錯誤之后,他們開始搜索錯誤。

正如他們告訴我的那樣 - 錯誤是由於 PERL 模塊或 PEAR 包中的配置造成的,但他們沒有告訴我真正的問題。

因此,如果您在共享主機上 - 與您的提供商交談並試用 PHP 版本(如果您可以更改它們)。

php.ini中注釋掉這兩行

;extension=imagick.so
;extension="ixed.5.6.lin"

它應該解決這個問題。

在 Windows 10 中,我通過這樣的評論來解決這個問題

;extension=php_sockets.dll

運行php --ini並注意Loaded Configuration File上的文件路徑。
然后運行cat -n /etc/php/7.2/cli/php.ini | grep intl類的命令 cat -n /etc/php/7.2/cli/php.ini | grep intl查找擴展是否被注釋。
然后通過添加注釋行更新加載的配置文件; 比如;extension=intl

當您安裝php-intl包並在php.ini文件上啟用相同的擴展時,可能會發生這種情況。

如果您在共享主機上,只需應用默認的 php 設置。 Cpanel 將 php 設置覆蓋為默認值。

我在帶有 PHP 7.2.10 的 Windows 10 中使用 WAMP。 我能夠通過在 wamp64\bin\php\php7.2.10 中的 php.ini 中注釋行extension=ftp來解決它。

我不確定,但我猜為什么會發生這種情況是我在 wamp64\bin\apache\apache2.4.35\bin 中的 php.ini 已經加載了這個模塊。

確保在這樣做之后重新啟動 WAMP 的所有服務。

我遇到了同樣的問題,所以我評論了extension=mysqli ,因為我將它包含在運行 sql server 中。 檢查你是否取消了這個 extension=mysqli 的注釋,如果是,放置; 在 php.ini 中

我通過從extension=grpc 這樣的評論中刪除php.ini文件解決了這個問題;extension=grpc

通過評論 extension=curl 解決

我有一個類似的問題,問題是擴展名 intl 重復了。

您可以檢查文件 C:/xampp/php/php.ini 並找到“intl”。 在我的情況下,extension=intl 已經存在,我再次滾動並找到了第二個 intl“extension=php_intl.dll”。

擴展必須一個才能執行,不能再次執行擴展 intl。 這將顯示類似“模塊'intl'已加載”的錯誤。

我通過使用“ ; ”注釋掉extension=php_intl.dll來修復它,就像這樣;extension=php_intl.dll 並重新啟動 apache 服務。

En mi caso,你好初級。 Lo único que hice fue correr "composer clear-cache",esperar que terminara la ejecución。 Volver a correr el comando “composer init”。 Con eso eliminé el 錯誤“警告:模塊“mysqli”已加載到第 0 行的未知中”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM