SpeedPHP技术交流论坛

 找回密码
 论坛注册

QQ登录

只需一步,快速开始

搜索
查看: 5275|回复: 20

二级目录中使用SpeedPHP框架的问题

[复制链接]

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2009-12-24 16:41:29 |显示全部楼层
如果不是在网站根目录使用SpeedPHP框架的应用程序,而是位于某个二级目录,需要设置一下配置,否则spUrl生成的地方将不正确。

在目录内使用SP框架,也就是在非根目录中使用SP框架,需要在应用程序配置中设置:
  1. <?php
  2. ...
  3. $spConfig = array(
  4.         'url' => array(
  5.                 'url_path_base' => "/您的目录/index.php",
  6.         ),
  7. );...
复制代码
设置URL中的url_path_base值,那么spUrl以及应用程序都将按照新的访问路径进行路径转换。
下面举个例子,我们有app1,app2,admin三个目录内分别有独立的应用程序,都使用根目录下的SpeedPHP。那么目录结构如下:(点小图看大图)



上图中我们可以看到,admin程序的配置应该是:
  1. <?php
  2. define("SP_PATH","../SpeedPHP");
  3. define("APP_PATH",dirname(__FILE__));
  4. $spConfig = array(
  5. 'url' => array(
  6.         'url_path_base' => '/admin/index.php',
  7. ),
  8. );
  9. require(SP_PATH."/SpeedPHP.php");
复制代码
其余的app1,app2也是同理。

9

主题

0

好友

45

积分

武林新贵

Rank: 4

优秀扩展分享

发表于 2009-12-25 23:29:39 |显示全部楼层
支持楼主

2

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2009-12-26 19:30:41 |显示全部楼层
太好了,正是我想要的,感谢楼主!

0

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2009-12-31 16:08:46 |显示全部楼层
我照着做了一个,为什么不对呢?

  1. <?php
  2. define("SP_PATH","../SpeedPHP");
  3. define("APP_PATH",dirname(__FILE__));
  4. $spConfig = array(
  5. 'url'=>array(
  6.      'url_path_base'=>'/web/index.php',
  7. ),
  8. );
  9. require(SP_PATH."/SpeedPHP.php");
复制代码



DEBUG信息

---------- Debug PHP ----------
Warning: require(../SpeedPHP/SpeedPHP.php): failed to open stream: No such file or directory in F:\work\web\SpeedAMP\htdocs\web\index.php on line 9
Fatal error: require(): Failed opening required '../SpeedPHP/SpeedPHP.php' (include_path='.;C:\php5\pear') in F:\work\web\SpeedAMP\htdocs\web\index.php on line 9
输出完成 (耗时: 0 秒)


浏览器输出结果:

路由错误,请检查是否存在该函数。
  • F:\work\web\SpeedAMP\htdocs\SpeedPHP\SpeedPHP.php on line 83
78.      $GLOBALS['G_SP']["default_action"];
79.
80. $handle_controller = spClass($__controller, null, $GLOBALS['G_SP']["controller_path"].'/'.$__controller.".php");
81. // 调用控制器出错将调用路由错误处理函数
82. if(!is_object($handle_controller) || !method_exists($handle_controller, $__action)){
83.      eval($GLOBALS['G_SP']["dispatcher_error"]);

84.      exit;
85. }
86.
87. // 对路由进行自动执行相关操作
88. spLaunch("router_prefilter");

  • F:\work\web\SpeedAMP\htdocs\web\index.php on line 9
4. $spConfig = array(  
5. 'url'=>array(  
6.       'url_path_base'=>'/web/index.php',  
7.   ),  
8.   );  
9. require(SP_PATH."/SpeedPHP.php");

0

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2009-12-31 16:19:08 |显示全部楼层
已解决。
把整理选为utf8_general_ci重新录入但还是提示

Warning: #1265 Data truncated for column 'tb_Name' at row 1



另咨询一个mysql问题:

我用phpmyadmin新建了一个数据表,结构如下,为什么dis_name字段不能输入中文呢?错误代码:



Warning: #1265 Data truncated for column 'tb_Name' at row 1
Warning: #1366 Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'dis_name' at row 1


查询内容时,中文变为乱码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?论坛注册

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2009-12-31 16:42:08 |显示全部楼层
如果字段内已经有中文,然后改整理字符集的话,会出现这种错误的。这只是警告说原来存的是另一种格式,转换会不好。

我们一般遇到这种情况都是只能导出来,然后再导进去的

0

主题

0

好友

0

积分

武林新贵

Rank: 4

发表于 2009-12-31 16:48:33 |显示全部楼层
感谢 jake的帮助
但是第一个问题呢?

我把index.php的第一行
define("SP_PATH", "../SpeedPHP");
改为
define("SP_PATH", "./SpeedPHP");
或者
define("SP_PATH",dirname(__FILE__)."/SpeedPHP" );

都不行

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2009-12-31 17:21:07 |显示全部楼层
找找SpeedPHP目录在什么地方吧,或者可以到我们网站下载个最新的。然后再引用进去

55

主题

0

好友

190

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-13 11:20:01 |显示全部楼层
后台index.php可以引用前台index.php里面的数据库调用吗?我写的时候是前台后台都有一个index.php里面的代码页是一样,后台重复前台调用数据库的方法?不知道是不是这样做的

35

主题

0

好友

84

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-13 11:29:31 |显示全部楼层
感谢 jake的帮助
但是第一个问题呢?

我把index.php的第一行
define("SP_PATH", "../SpeedPHP");
改为
def ...
ytze 发表于 2009-12-31 16:48



    如果你的程序不需要移来移去,最好写成绝对形式。


  1. //define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
  2. //define("APP_PATH",dirname(__FILE__));
  3. define("APP_NAME","api"); //APP名称
  4. define("APP_DOMAIN","xxx.com"); //DOMAIN域名
  5. define("ROOT_PATH","d:/htdocs/"); //根路径
  6. define("APP_DIR",APP_NAME.'.'.APP_DOMAIN); //DOMAIN域名
  7. define("STYLE_PATH",'http://api.xxx.com/tpl/'.APP_DIR); //CSS、JS、IMG文件URL路径
  8. define("SP_PATH",ROOT_PATH."/FrameWork"); //SP路径
  9. define("APP_PATH",ROOT_PATH."/".APP_DIR); //APP路径
  10. define("TPL_PATH",ROOT_PATH.'/tpl/'.APP_DIR); //模版目录
  11. define("TMP_PATH",ROOT_PATH.'/tmp/'.APP_DIR); //编译目录
  12. define("CACHE_PATH",ROOT_PATH.'/cache/'.APP_DIR); //缓存目录
复制代码
您需要登录后才可以回帖 登录 | 论坛注册

手机版|Archiver|SpeedPHP.com ( 粤ICP备08008671号 )  

GMT+8, 2012-5-19 00:54

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部