thinkphp怎么升级
thinkphp版本升级的相关介绍,以5.0升级到5.1为例:
先看看5.0总的目录结构:
project 应用部署目录 ├—application 应用目录(可设置) ├—extend 扩展类库目录(可定义) ├—public WEB 部署目录(对外访问目录) ├—runtime 应用的运行时目录(可写,可设置) ├—vendor 第三方类库目录(Composer) ├—thinkphp 框架系统目录
再看看5.1总的目录结构:
www WEB部署目录(或者子目录) ├—application 应用目录 ├—config 应用配置目录 ├—route 路由定义目录 ├—public WEB目录(对外访问目录) ├—thinkphp 框架系统目录 ├—extend 扩展类库目录 ├—runtime 应用的运行时目录(可写,可定制) project 应用部署目录 ├—application 应用目录(可设置) ├—extend 扩展类库目录(可定义) ├—public WEB 部署目录(对外访问目录) ├—runtime 应用的运行时目录(可写,可设置) ├—vendor 第三方类库目录(Composer) ├—thinkphp 框架系统目录 ├—vendor 第三方类库目录(Composer依赖库)
通过第一层目录我们可以看到5.1只是多了config和route目录,说明5.1版本已经把配置文件和路由器文件给提取出来了。
下边我们以wstmart开源商城系统作为例子来尝试升级一下。
首先我们通过git导出最新的thinkphp5.1框架:
我们运行一下看看结果出现:
导入开源商城wstmart代码。
相关推荐:《ThinkPHP教程》
我们把wstmart开源商城wstmart目录下的wstmart剪切到tp5目录下,修改一下index.php文件,让项目直接在系统根目录下运行,再接着修改一下数据库配置文件和打开调试功能,运行一下:
嗯?!!居然出错了?赶紧翻翻文档看看。文档再往下拉看看,嗯?好吧。原来我太心急,没有看完,如果是从新定义入口文件的话就不能直接把原来指向public目录的index.php文件简单的拿过来用,还要定义一下应用的目录,例如:Container::get('app')->path(APP_PATH)->run()->send();其中APP_PATH就是要定义的应用的目录,我再改改为:
Container::get('app')->path(__DIR__ . '/wstmart/')->run()->send();
运行看看:
终于正常了。之所以会出现这个结果是因为我没有修改配置文件,告诉系统默认的模块为home,我再修改一下app.php文件的 'default_module' => 'home',运行看看:
嗯?这个就又是什么情况?文件明明存在啊!!!仔细核对文件,确实存在啊...一定是5.1还有一些精华的地方我又看漏了,于是又返回看文档。来回扫荡,来回扫荡,终于在升级指导上到有这么一句话:“如果你自定义了应用类库的命名空间,需要改为设置环境变量APP_NAMESPACE而不是应用配置文件,如果你使用了.env配置文件,可以在里面添加:APP_NAMESPACE = 你的应用类库根命名空间名”。原来如此!!
于是在系统下建立一个.env文件。内容文:app_namespace=wstmart
再运行看看:
这段话是说这个函数没有找到。在thinkphp5.0框架里,系统会自动加载目录common下的文件,在5.1里边怎么不会自动加载了?于是我再翻翻thinkphp5.1的源代码看看。看到有这么一行:
未定义的数组下边?这么诡异的问题?
从下边的出错提示,我们可以定位到模块home的index.php文件调用的函数getFloors里去,出错提示是代码:
$rs = Db::name('goods_cats')->where(['dataFlag'=>1, 'isShow' => 1,'parentId'=>['in',$ids],'isFloor'=>1]) ->field("parentId,catName,catId")->order('catSort asc')->select();
出了问题。我们再翻文档看看。文档上说:
改变了查询构造器的数组多字段批量查询,从原来的
where(['name'=>['like','think%'], 'id'=>['>',0],])
需要调整为
where([['name','like','think%'], ['id','>',0],])
我们参照上边的说明把代码修改为:
$rs = Db::name('goods_cats')->where([['dataFlag','=',1], ['isShow','=',1],['parentId','in',$ids],['isFloor','=',1]]) ->field("parentId,catName,catId")->order('catSort asc')->select();
果然这个错误就不在出现了。接下来是另外一个问题:
参看文档,在thinkphp5.1中这个函数已经修改了。我们把thinkRequest改成thinkFacadeRequest,错误又消失了。
下边是错误:
系统能运行到这里,说明程序已经能接收并成功返回信息了。在页面上的这个错,应该就是自定义标签wst:ads里边出错,导致没有内容返回了。我们按照上边的排错方法继续回去调试原来是升级时候忘记配置标签了。我们打开template,加上代码'taglib_pre_load' => 'wstmartcommonTaglibWst',然后再刷新一下页面:
又是熟悉的错误,不过这次是其他函数,对于已经找到解决办法的错误,我们很容易就解决,这样就不再累述了。基本上都是修改model里的查询函数就可以了。按照前边的办法改完之后,我们就可以完成Thinkphp 5.0到5.1的升级了。
因为篇幅有限,我就不再一一截图调试,大家升级之前要熟读thinkphp官方的升级指导,避免像我一样一个坑一个坑的填,才终于完成升级。
Atas ialah kandungan terperinci thinkphp怎么升级. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Beberapa kaedah untuk Conda meningkatkan versi Python memerlukan contoh kod khusus: Conda ialah pengurus pakej sumber terbuka dan sistem pengurusan persekitaran untuk menguruskan pakej dan persekitaran Python. Semasa pembangunan menggunakan Python, untuk menggunakan versi baharu Python, kita mungkin perlu menaik taraf daripada versi Python yang lebih lama. Artikel ini akan memperkenalkan beberapa kaedah menggunakan Conda untuk menaik taraf versi Python dan memberikan contoh kod khusus. Kaedah 1: Gunakan arahan condainstall

Cara menaik taraf versi numpy: Tutorial yang mudah diikuti, memerlukan contoh kod konkrit Pengenalan: NumPy ialah perpustakaan Python penting yang digunakan untuk pengkomputeran saintifik. Ia menyediakan objek tatasusunan berbilang dimensi yang berkuasa dan satu siri fungsi berkaitan yang boleh digunakan untuk melaksanakan operasi berangka yang cekap. Apabila versi baharu dikeluarkan, ciri yang lebih baharu dan pembetulan pepijat sentiasa tersedia kepada kami. Artikel ini akan menerangkan cara untuk menaik taraf pustaka NumPy anda yang dipasang untuk mendapatkan ciri terkini dan menyelesaikan isu yang diketahui. Langkah 1: Semak versi NumPy semasa pada permulaan

1. Gunakan kekunci pintasan win+x untuk membuka menu dan pilih [Command Prompt (Administrator) (A)], seperti yang ditunjukkan di bawah: 2. Selepas memasuki antara muka command prompt, masukkan arahan [ipconfig/flushdns] dan tekan Enter , seperti yang ditunjukkan dalam rajah di bawah: 3. Kemudian masukkan arahan [netshwinsockresetcatalog] dan tekan Enter, seperti yang ditunjukkan dalam rajah di bawah: 4. Akhir sekali masukkan arahan [netshintipreset] dan tekan Enter, mulakan semula komputer dan anda boleh mengakses Internet , seperti yang ditunjukkan dalam rajah di bawah:

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Dalam bidang teknologi baharu, sistem pengendalian baharu sentiasa menarik perhatian ramai. Baru-baru ini, telefon bimbit Honor mengumumkan bahawa mereka akan dinaik taraf kepada Hongmeng OS, sistem pengendalian baharu yang dibangunkan oleh Huawei. Ini sudah pasti berita baik untuk ramai pengguna telefon bimbit Honor. Walau bagaimanapun, ramai pengguna mungkin masih mempunyai keraguan tentang cara untuk menaik taraf kepada sistem Hongmeng. Artikel ini akan menerangkan secara terperinci cara menaik taraf telefon mudah alih Honor kepada sistem Hongmeng untuk membantu pengguna memahami dan mengendalikannya dengan lebih baik. Pertama, untuk menaik taraf telefon Honor kepada sistem Hongmeng, pengguna perlu memastikan telefon disambungkan ke rangkaian dan mempunyai kuasa yang mencukupi. ini

WPS ialah perisian komputer yang mesti ada untuk ramai pengguna Kemas kini biasa kepada versi baharu boleh membolehkan pengguna mendapatkan pengalaman pengguna yang lebih baik dan lebih banyak ciri. Jadi bagaimana untuk menaik taraf versi wps? Terdapat tiga kaedah utama untuk menaik taraf wpsoffice Mari kita lihat di bawah. Kaedah 1: Muat turun versi baharu daripada tapak web rasmi Anda boleh memuat turun versi terkini pakej pemasangan daripada tapak web rasmi WPSOffice. Selepas memasuki tapak web rasmi WPSOffice (https://www.wps.cn/), klik butang "Muat turun", pilih versi yang anda perlu muat turun, dan kemudian ikut arahan untuk memasangnya. Nota: Apabila memasang versi baharu, anda perlu menyahpasang versi lama, jika tidak, ia akan menyebabkan konflik perisian dan menghalang penggunaan biasa. Kaedah 2: Dalam WPSOf

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.
