【问题标题】:Having trouble getting cake bake to work无法让蛋糕烘烤工作
【发布时间】:2011-07-15 10:49:52
【问题描述】:

我在 Ubuntu 10.10 机器上安装了最新版本的 CakePHP。我能够很好地完成初学者教程,所以我认为我的配置接近正确。不过,我不能让蛋糕烘烤完全起作用。下面是我的会话。看起来像异常的东西以粗体显示。我认为我的配置中必须有一个或多个小错误,这些错误在运行 bake shell 时会出现。谢谢!

ubuntu@myserver.com:~$ cd /var/www/app
ubuntu@myserver.com:/var/www/app$ ../cake/console/cake bake -app /var/www/app
加载失败 /usr/lib/php5/20090626.so:/ usr/lib/php5/20090626.so: 无法打开共享对象

文件:没有这样的文件或目录

欢迎使用 CakePHP v1.3.2 控制台

应用程序:应用程序
路径:/var/www/app

交互式烘焙壳

[D]数据库配置
[M]模型
[查看]查看
[C]控制器
[P]项目
[F]夹具
[T]测试案例
[Q]套装
你想烤什么? (D/M/V/C/P/F/T/Q)

P
此应用的完整路径(包括应用目录名称)是什么?
示例:/var/www/app/myapp
[/var/www/app/myapp] > /var/www/app
烘焙项目
Skel 目录:/usr/share/php/cake/console/templates/skel
将被复制到:/var/www/app

看起来还好吗? (是/否/问)
[y] > y
你想要详细的输出吗? (是/否)
[n] > 是的

创建:应用在 /var/www/app

/usr/share/php/cake/console/templates/skel/app_controller.php 复制到

/var/www/app/app_controller.php
/usr/share/php/cake/console/templates/skel/app_model.php 复制到
/var/www/app/app_model.php
/usr/share/php/cake/console/templates/skel/index.php 复制到 /var/www/app/index.php
/usr/share/php/cake/console/templates/skel/.htaccess 复制到 /var/www/app/.htaccess
/usr/share/php/cake/console/templates/skel/app_helper.php 复制到 /var/www/app/app_helper.php

创建文件 /var/www/app/views/pages/home.ctp
文件/var/www/app/views/pages/home.ctp 存在,是否覆盖? (是/否/问)
[n] > y
写了/var/www/app/views/pages/home.ctp
欢迎页面已创建
为“Security.salt”创建的随机哈希密钥
为“Security.cipherSeed”创建的随机种子
无法设置 CAKE_CORE_INCLUDE_PATH,您应该在 /var/www/app/webroot/index.php 中更改它
无法在 /var/www/app//tmp 上设置权限
chmod -R 0777 /var/www/app//tmp

交互式烘焙壳

[D]数据库配置
[M]模型
[查看]查看
[C]控制器
[P]项目
[F]夹具
[T]测试案例
[问]适合

你想烤什么? (D/M/V/C/P/F/T/Q)


ubuntu@myserver.com:/var/www/app$

【问题讨论】:

  • 我想归结为正确设置包含路径,然后 php cli 错误可能会消失。似乎蛋糕试图从这个文件夹加载 *.so ,但由于有一个额外的斜线,它在文件夹树中“太高了”。只是粗略的猜测......

标签: cakephp cakephp-1.3 cakephp-bake


【解决方案1】:

马克·墨菲,

1.

Failed loading /usr/lib/php5/20090626.so: /usr/lib/php5/20090626.so: cannot open shared object

*.so 文件是共享库。我会尝试通过(重新)安装 PHP CLI 来解决它。

2.

Could not set permissions on /var/www/app//tmp

斜线怎么会蔓延两次?这样的文件夹不应该存在。

编辑0: 这有点奇怪,因为 CakePHP 应该开箱即用,但也许你真的应该看看 app/webroot/index.php 中的指定变量,看看你是否可以更改 CAKE_CORE_INCLUDE_PATH 以便多余的斜杠消失.

编辑1: 对于一般部署,没有什么比 thisafaik 更好的了。

编辑2: cake bake help 返回: -app 应用文件夹的绝对/相对路径。

因此你应该调用:

  1. cake bake app /var/www/<your_project_name>/ <---- note the trailing slash
  2. 当在/var/www/ 呼叫cake bake app <just_your_project_name>

编辑3: 简而言之:您可以下载 CakePHP tar.gz 并将其解压缩到您的 /var/www/,然后将文件夹(有一些奇怪的 cakePHP-1234... 名称)重命名为您的应用程序的名称,例如missioncontrol。然后在您的浏览器中:http://localhost/missioncontrol,按照说明进行操作。 这是一种快速上手的方法,但您可以根据自己的构建过程开发其他方法。

在您开发完应用并打算将其部署在与本地计算机不同的主机上后,请使用 edit1 下提供的链接。

【讨论】:

  • 感谢本杰明,我尝试重新安装 php5-cli。结果相同。 ../cake/console/cake 正在尝试加载 20090626.so。这个 .so 不存在。 20090626 是共享对象的目录。我已经搜索了我可能错误配置蛋糕的地方。不知道为什么在 /var/www/app//tmp...
  • edit2 中的建议很有效。然而,cake bake 坚持将应用程序放在 /var/www/app/app。但是,这具有使该过程正常工作的效果。这让我想知道我是否应该在 /var/www/cakephp 而不是我的 web 根目录中安装 cakephp。典型的做法是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
相关资源
最近更新 更多