我想知道是否可以让 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 所在目录的路径,但这还没有解决问题。
干杯,
皮特
答案 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服务器中为您的应用程序设置一个新数据库,然后获取:
并使用新的数据库详细信息更新您的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的人提供指南,因为我注意到有不同的目录结构等。
干杯,
彼得