thinkphp 3.2 只能使用預設的控制器與操作方法

來源:互聯網
上載者:User
事情是這樣的,我不能建立自己的控制器,只能使用預設的 /Home/Controller/IndexController/Index/index 方法下的邏輯。

意思就是說即使我在 /Home/Controller/IndexController/Index/hello 訪問,依然不生效,以下是代碼:



namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this->show('

:)

歡迎使用 ThinkPHP


[ 您現在訪問的是Home模組的Index控制器 ]','utf-8');
}

public function hello(){
echo 'hello';
}
}



不過我修改了慣例配置裡面的 預設模組 / 預設控制器 / 預設操作,改成自己的控制器與操作,這樣是可以使用自己的控制器的,那就是我只能使用一個控制器了!?求各位php大神指教!是我的配置環境有問題嗎?

我的controller名字等沒有寫錯,我下載了別人聲稱能啟動並執行代碼,到我這邊就不可以了!
我用的是thinkphp 3.2 版本


回複討論(解決方案)

最近在用3.1.3 沒遇到你的情況 定義自己的控制器 只要繼承架構的Action 應該不會有問題的 樓主在仔細看下 自己安裝到使用 有沒配置過什麼特殊的操作

3.2版本開始就沒有action了,用controller代替~~~我沒有改了什麼配置啊,莫名其妙

看上去你什麼也沒動
那麼訪問應是
http://localhost/home/index/index
http://localhost/home/index/hello

看上去你什麼也沒動
那麼訪問應是
http://localhost/home/index/index
http://localhost/home/index/hello


是的,我也原來這樣以為,實際上兩個URL的訪問結果都一樣,都是http://localhost/home/index/index,這是我迷惑的地方。
我嘗試了,如果在慣例設定檔裡配置了,是可以使用http://localhost/home/index/hello的。另外,在入口檔案index.php中也可以通過常量的設定BIND_MODULE BIND_CONTROLLER BIND_ACTION指定的預設模組 控制器 操作

可惜,我就是用不到自己的控制器,自己的操作,好暈啊!!!望各大神幫忙!

終於還是自己解決了問題,看了ThinkPHP裡面的原始碼,發現用 http://localhost:9999/index.php?c=Read&a=index 這樣的URL是能正常訪問我自己的控制器和操作的,那問題就在於我的thinkphp不支援PATHINFO方式了!

為什麼偏偏我的不支援呢?再看3.2的開發手冊,原來是低版本的nginx不支援,如何解決參考以下文章
http://www.smzdy.com/nginx-kai-qi-pathinfo-di-ling-yi-zhong-xie-fa-yi-jing-yong.html

by the way,我的nginx 版本是1.1.19,的確有點舊了!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.