0

我刚刚用Kohana PHP编写了一个在线门户。

它在我的 PC 上运行良好,但当我尝试将它托管在另一台服务器上时,“BONK!”,它显示时没有显示产品图片。

我什至不知道发生了什么事。

我应该遵循哪些规则来使我的 Kohana 应用程序可移植?

4

3 回答 3

3

我正在使用 Kohana 开发一些网站,这里有一些技巧可以确保网站是可移植的,因为我可以将文件从我的开发环境上传到服务器并让它们运行而无需修改任何事物:

  1. 使用相同的目录结构。例如,在我的情况下,我将 Kohana 核心文件夹放入本地磁盘和<drive><somepath>/apps/kohana/system/服务器上。同样,我将本地 XAMPP htdocs 设置为遵循. 这样我上传到服务器时就不必修改了。使用相对路径<drive><somepath>/apps/kohana/modules//apps/kohana/system//apps/kohana/modules/<drive><somepath>/public_html//public_htmlindex.php

  2. 就像 kfederov 建议的那样,url::base()在模板中使用所有 src=".." 。我这样做的方法是$this->template->baseurl = url::base();在我的 Controller_Template 中分配(我使用的是 Kohana 3,但方法与 Kohana 2.x 几乎相同)并{$baseurl}在 Smarty 模板中使用(我强烈建议使用 Smarty 模板系统——你可以找到Kohana 论坛中的模块)。

  3. 在开发环境和服务器环境中使用相同的数据库名称、用户名和密码,这样我就不必修改了config/database.php,很明显。

  4. 如果您在同一主机上托管多个具有不同域的网站,显然您不能将/public_html其用作除一个网站之外的所有网站的文档根目录。您很可能必须将这些非主域配置为指向不同的文件夹,例如在我的情况下,我将它们放在/hosted/*/文件夹中并相应地配置我的服务器 cPanel。要在本地环境中复制此设置,您需要使用 localhost 子域,这需要您相应地修改httpd.conf您的 HOSTS 文件,如下所示:

    1. 中添加虚拟主机httpd.conf。例如:

      <VirtualHost *:80>
        DocumentRoot /path/to/hosted/coolwebsite
        ServerName coolwebsite.localhost
      </VirtualHost>
      
    2. 添加到您的 HOSTS 文件(C:\WINDOWS\system32\drivers\etc\hosts如果在 Windows 下):

      127.0.0.1     coolwebsite.localhost
      
    3. 现在,您可以http://coolwebsite.localhost/在本地运行的 Web 服务器上访问您的开发环境中的网站。

希望这可以帮助!

于 2009-11-17T02:11:49.343 回答
0

请务必更新您的 .htaccess、index.php 中的值,或许还有配置文件中的值。

于 2009-05-12T16:36:41.213 回答
0
  1. 检查您的.htaccessbootstrap.php文件以获取正确的站点路径。

  2. 确保您URL::base()src="...".

于 2009-10-09T05:36:09.280 回答