确保您的服务器上已正确配置 PHP – 您应该运行 PHP 5.4+,GD 和 Fileinfo 扩展应已启用,并且应支持 JSON MIME 类型。虽然在生产服务器上通常已启用,但在您的本地开发服务器上可能并非如此。有关如何更改这些设置的更多信息,请查看 故障排除 部分。
确保您的服务器配置正确后,完成以下步骤以开始使用 CKFinder。
访问 CKFinder 下载 网站并下载 PHP 版本。将发行版文件复制到您的 Web 服务器,并将它们放置在您的网站上的 /ckfinder/
文件夹或您选择的任何其他文件夹中。
默认情况下,CKFinder 服务器连接器处于禁用状态。如果您打开默认的 CKFinder 示例(位于 /ckfinder/samples/full-page-open.html
),您将看到以下错误消息
出于安全原因,文件浏览器已禁用。请联系您的系统管理员并检查 CKFinder 配置文件。
要启用它,您应该在 config.php
中设置 身份验证 函数,以便它对应该访问 CKFinder 的用户返回 true
。
启用 CKFinder 的最简单方法(尽管不安全)
快完成了!如果您再次打开默认的 CKFinder 示例(位于 /ckfinder/samples/full-page-open.html
),您现在将看到 CKFinder。根据服务器权限,您甚至可能无需进一步操作即可创建文件夹或上传文件 - 如果没有,请继续阅读。
最后一件需要设置的重要事项是
CKFinder 在称为 资源类型 的顶级文件夹上运行。默认情况下,CKFinder 附带了两个配置好的默认资源类型(文件和图像),它们使用相同的默认 后端。这意味着查看和上传到这些文件夹的文件所需的一切,就是给予 Web 服务器对后端位置的读写权限。
CKFinder 配置文件带有一个名为 default
的后端,它在本地文件系统上运行。此默认后端最初指向一个 URL(/ckfinder/userfiles/
),CKFinder 会将它解析为相应的服务器路径。
配置好后端后,最后要做的就是确保 Web 服务器有权写入它。
假设 CKFinder 安装在 https://example.com/
中,并且在服务器上,网站文件夹的完整路径是 /home/joe/www/example.com/
。如果后端位置 (baseUrl
) 设置为 /userfiles/
,上传的文件将位于 /home/joe/www/example.com/userfiles/
中。
现在,为了正确设置文件权限
/home/joe/www/example.com/userfiles/
)。userfiles
文件夹对Internet 用户可写IUSR_<ServerName>
用户写入权限。chmod
为 0777
。0777
不安全,因此建议将目录的组所有权更改为与 Apache 相同的用户,并添加组写入权限。如有任何疑问,请联系您的系统管理员。CKFinder 运行起来后,您现在可以专注于根据您的需求调整一些 配置选项。
如果 CKFinder 管理的文件通过 Web 服务器提供,建议进行一些服务器配置微调,以确保以安全的方式提供文件。要了解更多信息,请查看以下两篇文章
如果您在安装和运行 CKFinder 时遇到问题,请查看以下技巧,了解如何调整一些服务器设置以解决您的问题。如果 CKFinder 在初始配置和服务器设置调整后未按预期工作,请查看 调试和日志记录 部分。
如果您使用 IIS Express 作为您的 Web 服务器,您需要确保 JSON 是允许的 MIME 类型。默认情况下,它是不允许的,这可能会导致 CKFinder 语言文件不可用,您将在 CKFinder 中看到以下警报
因此,您需要 将 JSON 添加为新的 MIME 类型 到您的 IIS 配置中。
在添加 MIME 类型对话框中设置以下选项
.json
。application/json
。单击确定以接受并重新启动服务器以应用您的更改。
默认情况下,Fileinfo 扩展在 XAMPP 服务器上处于禁用状态(在版本 5.6.3 上检查)。要启用它,请执行以下操作
C:\xampp\php\php.ini
(或 XAMPP 安装位置的另一个路径)。;extension=php_fileinfo.dll
。;
来取消注释。您可以使用此脚本测试您的 PHP 安装(将其保存为 test.php
并运行)
在罕见的情况下,即使已启用 GD,某些图像的上传或编辑也会失败。这种情况发生在 Mac OSX 10.10(Yosemite)上的 PNG 文件中,默认的 PHP 安装[存在缺陷] (http://stackoverflow.com/questions/26443242/after-upgrade-php-no-longer-supports-png-operations)。此类问题严格与服务器端配置相关,并且会影响使用图像的任何 PHP 应用程序,而不仅仅是 CKFinder。