菜鸟又来麻烦各位了

sy5587 6月前 64

我 tpl 文件里用了一个 smarty3.1 的{html_options options=$AllLevel}为什么会报错啊, 错误代码:

Warning: require(C:\wamp64\www\php8/public/Smarty_Internal_Compile_Html_Options.class.php): failed to open stream: No such file or directory in C:\wamp64\www\php8\configs\run.inc.php on line 24

Fatal error: require(): Failed opening required 'C:\wamp64\www\php8/public/Smarty_Internal_Compile_Html_Options.class.php' (include_path='.;C:\php\pear') in C:\wamp64\www\php8\configs\run.inc.php on line 24

要改 php.ini 里的 include_path 吗要怎么改啊

最新回复 (29)
  • Carlgao 6月前
    引用 2
    smarty? 好久没听到过这个了,已经是上古模板引擎了吧!
  • 楼主 sy5587 6月前
    引用 3
    @Carlgao 新手啊网上找的视频有这个就学了
  • lifeintools 6月前
    引用 4
    写成绝对路径。同时看下该路径下的文件夹 以及文件的权限
  • 楼主 sy5587 6月前
    引用 5
    @lifeintools 我换了个低版本的 smarty 没事了,高版本单独引入 Smart 类也没事,但是我是在 public 文件夹下用一个 TPL 类 return new Smarty(),然后用 spl_autoload_register()加载 TPL 的方式载入就出现这个错误了
  • 楼主 sy5587 6月前
    引用 6
    我换了个低版本的 smarty 没事了,高版本单独引入 Smart 类也没事,但是我是在 public 文件夹下用一个 TPL 类 return new Smarty(),然后用 spl_autoload_register()加载 TPL 的方式载入就出现这个错误了
  • 楼主 sy5587 6月前
    引用 7
    我现在只能先用着低版本的了,有明白的大佬指点下我,感激不尽
  • xnode 6月前
    引用 8
    php 高版本 有一些函数废弃了 造成 Smarty 不能用
    建议用 php5.6
  • 楼主 sy5587 6月前
    引用 9
    @xnode 我的版本就是 5.6.25 啊
  • ChoateYao 6月前
    引用 10
    现在不用 smarty 了,而且前后端分离是大趋势,PHP 本身就是最好的模板引擎。

    建议学个现代点的框架,先从 Yii2 开始吧,Laravel 太花里胡哨了对待新人不好。
  • 楼主 sy5587 6月前
    引用 11
    @ChoateYao 谢谢你我先记下了,我看的是李炎恢的 PHP 第三季视频,好像是几年前的了,网上也没找到新的,我先把这个视频过一遍吧
  • ben1024 6月前
    引用 12
    新手的话,检测下目录是否有对应文件,如果没有文件手动放一个文件
  • to2false 6月前
    引用 13
    @ChoateYao #9 啥花里胡哨的,我看 yii 也没怎么适合入门
  • Canon1014 6月前
    引用 14
    楼上的不要争了作为外人看 react 和 vue 争都觉得心痛,Yii 和 Laravel 还有很多人看不上但是还是很多人用的 TP 都学的挺好的反正也快,具体主攻哪个不还是看公司要求
  • acrazing 6月前
    引用 15
    PHP 本身就是一个很完备的模板语言, 没必要用 smarty 这种花里胡哨的东西, smarty 自己搞了一堆语法, 你事实上在学习另一门语言.
  • 楼主 sy5587 6月前
    引用 16
    @acrazing 我现在照搬也搬不过去啊
  • acrazing 6月前
    引用 17
    @sy5587 我看你说在学习, 我的意思是你没必要学 smarty, 这是个累赘
  • leoleoasd 6月前
    引用 18
    你说用 spl_autoload_register 加载, 看上去是没用 composer 等包管理器. 还是建议先学 laravel. 现在生产没人用 smarty 了.

    并且 laravel 的 blade 的语法也比 smarty 的好很多.

    引用文件的时候, 用基于 __DIR__ 的相对路径引用. __DIR__是代码所在文件夹.
  • 楼主 sy5587 6月前
    引用 19
    高版本的 smarty 有问题,低版本的问题更多,折腾一下午,好像是我 run.inc.php 里的自动加载类和 smarty 有冲突
    spl_autoload_register("_efc");
    function _efc($_className) {
    if (substr($_className, -6) == 'Action') {
    require ROOT_PATH.'/controller/'.$_className.'.class.php';
    } elseif (substr($_className, -5) == 'Model') {
    require ROOT_PATH.'/model/'.$_className.'.class.php';
    } elseif (substr($_className, -5) == 'Check') {
    require ROOT_PATH.'/check/'.$_className.'.class.php';
    } else {

    require ROOT_PATH.'/public/'.$_className.'.class.php';
    }
    }

    22 0.2376 3951688 class_exists ( ) ...\smarty_internal_templatecompilerbase.php:785
    23 0.2377 3951992 spl_autoload_call ( ) ...\smarty_internal_templatecompilerbase.php:785
    24 0.2385 3952048 _efc( ) ...\smarty_internal_templatecompilerbase.php:785

    Fatal error: require(): Failed opening required 'C:\wamp64\www\php8/public/Smarty_Internal_Compile_Html_Options.class.php' (include_path='.;C:\php\pear') in C:\wamp64\www\php8\configs\run.inc.php on line 27

    但是我不知道怎么改
  • leoleoasd 6月前
    引用 20
    laravel 可以看这个文档 https://learnku.com/docs/laravel/7.x
    同网站也有 laravel 的教程, 不过不知道质量如何.
  • nocrush 6月前
    引用 21
    找个好点的视频吧,然后你这些代码看起来是上古时期的代码
  • 楼主 sy5587 6月前
    引用 22
    @leoleoasd 我学的时间不长啊,可以直接学框架吗
  • 楼主 sy5587 6月前
    引用 23
    @nocrush 哈哈
  • fiypig 6月前
    引用 24
    想快速上手就直接熟悉语法后, 就框架吧 ,我以前就是 tp 入门
  • 楼主 sy5587 6月前
    引用 25
    哎没有编程基础自学 PHP 好难啊
  • putaozhenhaochi 6月前
    引用 26
    这个 PHP8 文件夹让我一度以为。。。
  • leoleoasd 6月前
    引用 27
    @sy5587 #21 可以的没问题
  • 楼主 sy5587 6月前
    引用 28
    我先一个人静静,感谢大佬们的回复
  • to2false 6月前
    引用 29
    既然自学,建议不要折腾 smarty 了,tp 的话也建议直接折腾高版本的,
    tp3 的也只是遇到存量项目需要维护的时候才去看看

    框架你如果要看 tp,建议直接上 tp6,然后 php 语法、composer 、psr 规范等这些知识点先去了解下
  • k396656156 6月前
    引用 30
    好像想在都不用这个 smarty 吧,我当年学习的时候过了一遍菜鸟教程的 php 语法,直接 laravel 学起来了,开始觉得很复杂,搞习惯的还比较方便。后面其他的框架都差不多
  • 游客
    31
返回