共享Windows Plesk服务器上的CakePHP

时间:2015-06-16 05:52:58

标签: cakephp plesk

我想知道是否可以让 CakePHP 在共享的 Windows Plesk服务器上工作?

我已将 CakePHP 文件解压缩到 / httpdocs / 文件夹,并根据以下说明创建了 web.config 文件CakePHP文档,但我似乎得到的只是一个内部服务器错误'。在查看基本的Cake配置页面之前是否还需要设置MySQL数据库,还是应该能够在没有配置任何数据库的情况下向我显示?

我已将我的网站配置为运行 PHP 5.4.32(FastCGI)

报告的错误是:

  

PHP致命错误:您必须启用intl扩展才能使用CakePHP。在   第38行的C:\ Inetpub \ vhosts \ example.com \ httpdocs \ config \ bootstrap.php

但是我的主持人说他们尝试包含 php_intl.dll 所在目录的路径,但这还没有解决问题。

干杯,

皮特

4 个答案:

答案 0 :(得分:1)

  

在查看基本的Cake配置页面之前是否还需要设置MySQL数据库,还是应该能够在没有配置任何数据库的情况下向我显示?

不,你没有。即使没有先前的db配置,也会加载默认主页。它只会给你一个消息框,说明db没有配置。

缺少“intl”扩展名是您的主要问题。你需要修复它。我对Windows上的plesk没有任何经验,所以无法帮助你。虽然我建议使用基于Linux的服务器来让你的生活更轻松。

答案 1 :(得分:0)

以下是Cakephp 2.x中的操作方法

设置好网站空间后,您不需要更改或破坏php配置(只要将php设置为此网站空间的默认设置),并且在Plesk,Plesk服务器中创建web_space时通常为你做的每件事

但是你需要在Plesk服务器中配置CakePhp应用程序,你需要遵循这些:

  • 根目录

当您创建新的DNS或web_space时,Plesk会为您创建目录结构,您需要将应用程序放在创建的目录中,并按如下方式在这些文件夹中配置htaccess(只需添加一些" /"在路径中):

CakePHP root directory (must be copied to your document; redirects everything to your CakePHP app and updated to):

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]  #to=> /app/webroot/
   RewriteRule    (.*) app/webroot/$1 [L] #to=> /app/webroot/$1
</IfModule>
CakePHP app directory (will be copied to the top directory of your application by bake):

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$    webroot/    [L]  #to=> /webroot/
   RewriteRule    (.*) webroot/$1    [L]  #to=> /webroot/$1
</IfModule>
CakePHP webroot directory (will be copied to your application’s web root by bake):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]  #to=> /index.php
</IfModule>
  • 数据库

当然,您需要配置数据库。

为此,您需要在plesk服务器中为您的应用程序设置一个新数据库,然后获取:

  • 数据库IP地址
  • 数据库名称
  • 数据库用户名
  • 数据库密码

并使用新的数据库详细信息更新您的app / Config / database.php。如你所知:

public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'ip address here',
        'login' => 'database username',
        'password' => 'database password',
        'database' => 'database name'
    );

Here is how to configure Cakephp 3.x

希望这有帮助

答案 2 :(得分:0)

默认情况下,每个Plesk PHP处理程序都禁用php_intl扩展名:

您可以在

中启用它
C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP54\php.ini

只需找到并取消注释此字符串:

;extension=php_intl.dll

答案 3 :(得分:0)

感谢所有回答我问题的人。

我回到CakePHP版本2.6.7而不是3.x,在按照Fury的帖子中的说明后,我能够成功地取得一些进展并获得基本的CakePHP页面加载。

希望有更多知识的人能够为那些希望在Windows Plesk上运行v3.x的人提供指南,因为我注意到有不同的目录结构等。

干杯,

彼得