2012-08-02 193 views
2

我有一个使用Codeigniter框架开发的PHP应用程序。PHP代码适用于共享主机,但不适用于Xampp

我的应用程序在我的共享主机服务(Hostgator)上完美找到,但在使用Xampp本地开发时无法正常工作。

我附上了一张屏幕截图,展示了我用Xampp看到的内容和我在Web主机上看到的内容的示例。

的东西,我试过到目前为止:

  • 仔细检查DB设置
  • 重新安装XAMPP(这样做像5倍...)
  • 重新启动计算机
  • 检查XAMPP Apache的错误日志(没有什么用处)
  • 检查端口是否被另一个服务占用
  • 在codeigniter中设置我的基址并添加虚拟主机TS到Apache配置文件
  • 编辑Hosts文件指向的虚拟主机为localhost

Screenshot

这是我对上面的图像代码:

<?if($this->data['site_logo']!=''):?> 
     <img SRC="<?=$this->data['site_logo']?>" alt="<?=$this->data['site_name']?>" /> 
<?endif;?> 

谢谢!

+0

使用短标记:<=? $ userName?>应该替换<?php echo $ userName; ?>。短标签不应该用于其他事情。 – 2012-08-02 22:44:09

回答

3

要启用短标签,头在你的php.ini文件,找到这一行:

short_open_tag = 0 

和outputing数据时,将其更改为

short_open_tag = 1 
5

在xampp上似乎禁用了Shorttags。

只需在问号后添加一个php。每个PHP部分应与

<?php 

更正确的版本,开始为

<?=$var?> 

<?php echo($var); ?> 
2

你应该总是使用长PHP标签:

<?php if($this->data['site_logo']!=''): ?> 
     <img SRC="<?php echo $this->data['site_logo'] ?>" alt="<?php echo $this->data['site_name'] ?>" /> 
<?php endif; ?> 
+2

那么,就开发时间而言,使用短标签进行编码并确保它们在您的服务器上启用要容易得多。如果您与某个不允许您启用它的人共同托管,那么这是您在错误位置托管的好兆头。 – 2012-08-02 22:40:47

+0

不,你不应该总是使用长的PHP标签。在新的PHP版本中,默认情况下启用短标签。 – 2012-08-02 22:42:02

+0

@SamDufel现在不再是20世纪60年代了 - 我们的HDD有足够的空间可以节省更多的字符,而且我们也有很好的IDE,它可以为您打开三个按键<?[enter]为一个很好的标签。 – valentinas 2012-08-02 22:43:39

0

<?= ?>是该问题,更改为<?php echo ?>

1

您是否配置了XAMPP以允许使用短标记<?而不是默认的<?php标记?

+0

谢谢彼得。似乎xampp php.ini文件默认情况下禁用了短标签。为了解决这个问题,我在xampp \ php \ php.ini中设置了short_open_tag为On – John 2012-08-02 22:43:48

相关问题