用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3293|回复: 1
收起左侧

PHP5.3.x找不到CI模块的原因~!经验分享给大家!

[复制链接]
发表于 2010-1-24 13:33:14 | 显示全部楼层 |阅读模式
PHP 在去年年底的时候发布了最新的 5.3.x 版本。我也随时跟进,把自己的PHP版从 5.2.x 升级到 5.3.x 但是在使用时候CI框架居然报找不到模块的错误,但是在PHP 5.2.x的环境中却跑得好好的!我纳闷,在论坛里到处找人问,大家也不清楚是怎么回事~ 我去国外的网站找答案,也没得到合适的解决方案。后来不得不把PHP环境退回到 5.2.x的版本,今天无事,又把PHP5.3.x环境换上,跑我的CI 程序,很正常的报了错,可是我在做一个测试的时候发现程序里面的另一个模块却可以正常加载~!我马上把两个代码拿出来比较,发现在PHP代码开始符号上有差别,一般情况大家都会这么写:
PHP复制代码
 
<?
 /********PHP code*******/
?>
 
复制代码

但是标准的写法应该是
PHP复制代码
 
<?php //或者追加版本说明,不过官方推荐这样写
/*******PHP code*******/
?>
 
复制代码

我的模块中凡是以 <?php  开头的模块都能正确加载运行,没有标注PHP表示的基本上就被报错误,当成文本被输出了~!我一般情况都是会在问号后面加php标识的。只是巧的是我第一模块的代码开始符号后没有加"PHP"标识,然后程序就报错了,当时我也没有测试其他模块~!

呵呵~!看来PHP现在发展是越来越严谨了~,在CODE的时候还是尽可能按规范来写。 这个也不是什么大的技术,只是在使用中一点小小的经验,让大家也了解一下避免以后碰到这样的问题~!
发表于 2010-1-25 00:15:31 | 显示全部楼层
用 <? 还是用 <?php 是可以在 php.ini 中设置的,不管是 5.2 还是 5.3。

PS: 坚决不能使用 <? 这都是 ASP 的后遗症。

本版积分规则