Introduction à la mise à niveau de la version thinkphp, en prenant la mise à niveau de 5.0 à 5.1 comme exemple :
Premier aperçu de la structure générale des répertoires de 5.0 :
project 应用部署目录 ├—application 应用目录(可设置) ├—extend 扩展类库目录(可定义) ├—public WEB 部署目录(对外访问目录) ├—runtime 应用的运行时目录(可写,可设置) ├—vendor 第三方类库目录(Composer) ├—thinkphp 框架系统目录
Regardez la structure générale des répertoires de la 5.1 :
www WEB部署目录(或者子目录) ├—application 应用目录 ├—config 应用配置目录 ├—route 路由定义目录 ├—public WEB目录(对外访问目录) ├—thinkphp 框架系统目录 ├—extend 扩展类库目录 ├—runtime 应用的运行时目录(可写,可定制) project 应用部署目录 ├—application 应用目录(可设置) ├—extend 扩展类库目录(可定义) ├—public WEB 部署目录(对外访问目录) ├—runtime 应用的运行时目录(可写,可设置) ├—vendor 第三方类库目录(Composer) ├—thinkphp 框架系统目录 ├—vendor 第三方类库目录(Composer依赖库)
À travers la première couche de répertoires, nous pouvons voir que la 5.1 n'a que plus de répertoires de configuration et de route, indiquant que la version 5.1 a déjà inclus les fichiers de configuration et les fichiers du routeur extraits.
Ci-dessous, nous utilisons le système de centre commercial open source wstmart comme exemple pour essayer de mettre à niveau.
Nous exportons d’abord le dernier framework thinkphp5.1 via git :
Exécutons-le et voyons le résultat :
Importez le code wstmart du centre commercial open source.
Recommandations associées : "Tutoriel ThinkPHP"
Nous coupons le wstmart dans le répertoire wstmart du centre commercial open source wstmart dans le répertoire tp5, modifions le fichier index.php , pour qu'Exécutez le projet directement dans le répertoire racine du système, puis modifiez le fichier de configuration de la base de données et activez la fonction de débogage, et exécutez-le :
Hmm ? ! ! Quelque chose s'est mal passé ? Parcourez rapidement la documentation. Faites défiler le document et jetez un œil, hein ? D'accord. Il s'avère que j'étais trop impatient de finir de le lire. Si je redéfinis le fichier d'entrée, je ne peux pas simplement utiliser le fichier index.php qui pointait à l'origine vers le répertoire public. Je dois également définir le répertoire de l'application, par exemple. : Container::get( 'app')->path(APP_PATH)->run()->send(); où APP_PATH est le répertoire de l'application à définir, je vais le changer en : <🎜. >
Container::get('app')->path(__DIR__ . '/wstmart/')->run()->send();
$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();
Le système peut fonctionner jusqu'à ce point, indiquant que le programme a été en mesure de recevoir et de renvoyer avec succès des informations. L'erreur sur la page doit être une erreur dans la balise personnalisée wst:ads, ce qui a entraîné le renvoi d'aucun contenu. Nous avons suivi la méthode de dépannage ci-dessus et avons continué à revenir au débogage. Il s'est avéré que nous avions oublié de configurer l'étiquette lors de la mise à niveau. Nous ouvrons le modèle, ajoutons le code 'taglib_pre_load' => 'wstmartcommonTaglibWst', puis actualisons la page :
C'est encore une erreur familière, mais cette fois c'est une autre fonction , pour les erreurs qui ont déjà trouvé des solutions, nous pouvons les résoudre facilement, nous ne les répéterons donc pas. En gros, modifiez simplement la fonction de requête dans le modèle. Après avoir effectué les modifications selon la méthode précédente, nous pouvons terminer la mise à niveau de Thinkphp 5.0 vers 5.1.
En raison de l'espace limité, je ne prendrai pas de captures d'écran une par une pour le débogage. Avant la mise à niveau, tout le monde devrait lire le guide de mise à niveau officiel de thinkphp pour éviter de remplir une fosse après l'autre comme moi avant de terminer la mise à niveau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!