【问题标题】:How can I put my cakephp 3.0 project on a shared hosting server?如何将我的 cakephp 3.0 项目放在共享托管服务器上?
【发布时间】:2015-04-01 21:30:12
【问题描述】:

我在 cakephp 3.0 中创建了一个项目,我想将它放在共享托管服务器上。

Cakephp 文档已在此处http://book.cakephp.org/2.0/en/installation/advanced-installation.html 提供了以前版本的解决方案,其中目录结构与新版本不同。

在旧版本中,为了在共享主机服务器上进行提前安装,整个项目分为 3 个部分

  1. 库,
  2. 应用和
  3. webroot,

然后将这些路径写入 .htaccess 文件以运行项目。

在新版本的app目录变成了src,webroot原样但是找不到安装的lib目录。

任何人都可以帮助我了解如何在其最新版本中进行操作吗?

【问题讨论】:

  • 它和 2.x 几乎还是一样的,只是目录结构有点不同,但仅此而已。您可能想重新表述您的问题并解释您面临的实际问题!?
  • 没有lib文件夹了,你看安装说明了吗? book.cakephp.org/3.0/en/installation.html

标签: shared-hosting cakephp-3.0


【解决方案1】:

@jjz 回答的小更新。

你的结构是:

/home/username/public_html (with webroot contents)
/home/username/mycakeapp (installed cakephp 3 app)

更改/home/username/public_html/index.php:

FROM: require dirname(__DIR__) . '/config/bootstrap.php';
TO: require dirname(__DIR__) . '/mycakeapp/config/bootstrap.php';

更改/home/username/mycakeapp/config/paths.php:

FROM: define('WWW_ROOT', ROOT . DS . 'webroot' . DS);
TO: define('WWW_ROOT', realpath(ROOT . DS . '../public_html' . DS));

这样您的应用将更加便携,它不依赖于 /home/username。

【讨论】:

    【解决方案2】:

    根据 CakePHP3 的默认配置,我发现这种方法破坏性最小。

    假设:

    1. 您可以访问 cPanel/文件管理器
    2. 您的根文件夹是 /home/username
    3. 您的公共(网络)文件夹是 /home/username/public_html

    步骤:

    1. 将应用程序根文件夹(cakephp 或任何应用程序文件夹)的内容复制到/home/username。这将导致您的应用程序的 bin 文件夹转到 /home/username/bin 等等
    2. 删除 public_html 文件夹并创建一个指向 /home/username/webroot 的新符号链接“public_html”

    就是这样!

    【讨论】:

      【解决方案3】:

      我得到这个工作的方式是像这样构造共享主机上的目录:

      /home/username/public_html/
          // webroot contents goes here
          css/
          img/
          js/
          .htaccess
          index.php
      
      /home/username/mycakeapp/
          // necessary app directories go here
          /config
          /logs
          /plugins
          /src
          /tmp
          /vendor
      

      然后我在第 52 行将 WWW_ROOT 更改为 mycakeapp/config/paths.php

      define('WWW_ROOT', '/home/username/public_html/' . DS);
      

      最后,我必须将路径更改为在 webroot index.php 文件第 28 行(位于 /home/username/public_html/index.php)中定义的 bootstrap.php

      require '/home/username/mycakeapp/config/bootstrap.php';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-30
        • 2013-07-18
        • 1970-01-01
        • 2023-03-10
        • 2014-10-17
        相关资源
        最近更新 更多