2014-03-06 20 views
1

我遇到了一個簡單的控制器作爲shell命令運行的問題。帶有CLI腳本的Codeigniter站點

控制器很簡單:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

    class Check_C extends CI_Controller { 

     // Fire up the new controller, make sure to extend the parent 
     public function __construct(){ 
      parent::__construct(); 
     } 


     public function runcheck(){ 
      echo 'HI'; //$this->input->is_cli_request(); 
     } 

    } 

?> 

,我從應用程序的根目錄下運行命令是:

php index.php check_c runcheck

的輸出是:

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

現在,我做了一個littl搜索並查看它可能是我的php安裝被編譯和/或配置的方式。

我已經驗證,這是在Ubuntu Server 13.10上的默認PHP安裝...所以我不知道mysql是否符合PHP。我知道擴展名是在我的php.ini文件中加載的,在此之上,我沒有在網站的任何頁面上獲得這個Warning

如何修復?

+0

p.s. PHP版本5.5.3 – Kevin

+0

是的,它沒有說明我的問題在這裏的問題 – Kevin

+0

這個警告彈出,即使我做一些命令就像'php -m' – Kevin

回答

2

這個錯誤通常是在兩次加載擴展時引起的。您已經驗證了該擴展正在被您的php.ini文件加載。檢查擴展是否也被加載到conf.d文件(可能位於mysql.ini文件)下的文件中。不知道這些文件在Ubuntu中的位置,但這可能是您的問題。如果它實際上正在加載兩次,則禁用一個。這應該夠了吧。

+0

我確實在/etc/php5/apache2/conf.d下找到了一個20-mysql.ini,其中有extension = line ...我評論了我們,重新啓動了apache,以及每個連接了數據庫的站點死了 – Kevin

+1

在php5/cli/conf.d目錄中再次找到它,並且在那裏也找到了php.ini ...我用php.ini評論了它,並且所有內容似乎都很好。 – Kevin