我在cakephp 3.0中创建了一个项目,我希望将其放在共享托管服务器上。
Cakephp文档为这里的先前版本http://book.cakephp.org/2.0/en/installation/advanced-installation.html提供了解决方案,其中目录结构与新版本不同。
在旧版本中,在共享主机服务器上进行高级安装,整个项目分为3个部分
然后将这些路径写入.htaccess文件中以运行项目。
在新版本中,app目录已经成为src,webroot就是这样,但我找不到安装的lib目录。
任何人都可以帮助我了解如何在最新版本中使用它吗?
答案 0 :(得分:4)
我的工作方式是在共享主机上构建目录,如下所示:
/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);
最后,我必须将第28行(位于bootstrap.php
)的webroot index.php
文件中定义的路径更改为/home/username/public_html/index.php
:
require '/home/username/mycakeapp/config/bootstrap.php';
答案 1 :(得分:3)
@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 :(得分:2)
由CakePHP3的默认配置给出,我发现这种方法破坏性最小。
<强>假设:强>
<强>步骤:强>
这就是全部!