Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /www/wwwroot/01xj.net/wp-content/plugins/wp-ue/main.php on line 13
ThinkPHP相关网站在win2003服务器上部署权限的一些问题 – 我的空间 · 我做主

ThinkPHP相关网站在win2003服务器上部署权限的一些问题

最近做了一些ThinkPHP的项目,在本地测试都没啥问题,就是放到服务器上时就报各种错误,郁闷之~

 
错误一:
PHP Fatal error: require() [function.require]: Failed opening required
程序代码:
define(‘THINK_PATH’, ‘./ThinkPHP/’);
require(THINK_PATH . “ThinkPHP.php”);
分析:
郁闷,本地都没问题,为啥扔服务器就出问题了,问题解决方案有点坑爹:
给D:\和D:\wwwroot 一个everyone可读权限,只需在这两个位置加权限就可以了,不要附加到下一级目录!
 
错误二:
项目目录不可写 目录无法自动生成
分析:
依然是写入权限的问题,与第一个错误,几乎是同一个问题
 
综述:
原来是,我平时都是将网站部署在服务器某一个硬盘的根目录下面,
但是,对于第一个问题,要给应该硬盘分配一个everyone的可读权限,有点坑爹了,
所以,我的解决方案是,先建立一个目录,然后,将ThinkPHP网站,部署在该目录下面
并给这个目录一个everyone可读权限。
NND,这个问题,困扰了很久了,原来是ThinkPHP不能部署在硬盘根目录下面,早说嘛!唉~官网也不给个说明
 
 
//=======================================================================================
我又深思了一下:
我觉得入口文件应该这么写比较好:
define(“WEB_ROOT”, str_replace(“\\”, ‘/’, dirname(__FILE__) ) . “/”);//网站当前路径 
define(‘THINK_PATH’, WEB_ROOT.’ThinkPHP/’);
define(‘APP_NAME’, ‘Home’);
define(‘APP_PATH’, WEB_ROOT.’/Home/’);
require(THINK_PATH . “ThinkPHP.php”);
 
这样就可以完全避免第一个问题
但是,缺无法避免第二个问题,所以
依然,要在硬盘根目录下,先建立一个文件夹,然后赋予这个文件夹一个IIS运行权限即可,不需要everyone
同时,也给网站根目录一个IIS运行权限即可!

您可能还喜欢...

发表回复