我正在尝试在我的共享主机方案上安装smarty。我已经在我将使用它的子域上安装了smarty文件。我正在尝试定义SMARTY_DIR变量,但我不太确定如何使用我的Web主机提供的绝对托管路径。
这是我的包含路径(根据cPanel,在“PHP设置”中找到)
:/ usr / lib中/ PHP:在/ usr / local / lib目录/ PHP的
现在,当我将Smarty文件放在子域目录中时,index.php和libs(目录)处于同一级别。所以我的想法是做一些事情:
define('SMARTY_DIR','.:/usr/lib/php:/usr/local/lib/php/libs/' );
require_once(SMARTY_DIR . 'Smarty.class.php');
我没有正确地这样做吗?我收到文件不存在的明显错误。
非常感谢任何想法/建议。
答案 0 :(得分:2)
便携性。您可以使用[__DIR__][1]
或dirname(__FILE__)
你的代码就是这样的,假设smarty文件夹与当前脚本位于同一级别。
define('SMARTY_DIR', __DIR__ . '/smarty/');
require_once(SMARTY_DIR . 'Smarty.class.php');
答案 1 :(得分:1)
define('SMARTY_DIR','.:/usr/lib/php:/usr/local/lib/php/libs/' );
这不是路径,这是两个路径(由路径分隔符分隔,在linux :
上,在win ;
上,在PHP中通过常量PATH_SEPARATOR
提供)。 include(_once)
和require(_once)
不支持此功能。
define('SMARTY_DIR','/usr/lib/php:/usr/local/lib/php/libs/' );