cakephp的配置方法(转)
转自:http://blog.csdn.net/wjazz/archive/2008/07/06/2618750.aspx
?
在研究了一天cakephp后,终于把cakephp安装成功了,现在和大家分享一下我的安装经验,希望对大家有点用
?
一:下载cakephp
下载最新的cakephp可以到:http://cakeforge.org/projects/cakephp/(稳定版)
也可以到:https://svn.cakephp.org/repo/trunk/cake/1.x.x.x/(SVN版)
我是用的cake_1.1.19版,可以到:http://download.csdn.net/source/521486下载
?
二:cake目录结构
/app???
??? /config????????? - 配置文件目录,包括Database, ACL等???
??? /controllers???? - Controllers文件????????
??????? /components - Components文件???
??? /index.php?????? - 允许你将app目录部署为DocumentRoot (译注:参见Apache相关配置)???
??? /models????????? - Model文件????
??? /plugins???????? - Plugins文件???
??? /tmp???????????? - Cache和日志存放处????
??? /vendors???????? - 你的应用中使用到的第三方类库???
??? /views????????? - 视图文件???????
??????? /elements??? - 视图元素文件???????
??????? /errors????? - 自定义错误页面???????
??????? /helpers???? - Helpers文件???????
??????? /layouts???? - 页面布局文件???????
??????? /pages?????? - 静态页面文件???
??? /webroot???????? - web根目录???????
??????? /css???????
??????? /files???????
??????? /img??????
??????? /js
/cake??????????????? - 核心类库,请不要随意修改任何文件,除非你确信你有这个能力
index.php??????????
/vendors???????????? - 服务器端的第三方类库
三:cakephp安装
?
Cakephp的安装方式有三种:开发方式、生产方式、自由安装。对于前两种安装方式网上有很多文章已经说的很详细也很清楚,我这里也在不在累述了,我主要是讲下自由安装方式。从目录结构分析来看,cake主要有个三个文件,app、cake、webroot,我的安装方式则是把三个目录分开放,首先在磁盘目录下建立一个cakephp文件夹,然后再在里面分别建立myroot、myapp、mycake三个文件夹,然后把解压缩后的文件里的app里的webroot文件内的所有文件复制到myroot文件夹内,然后把app文件夹复制到myapp文件夹,把cake和vendors两个文件夹复制到mycake文件夹内,那么现在的文件目录结果如下
?
?
/cakephp
??? /myroot
??????????? /css
??????????? /files
??????????? /img
??????????? /js
??????????? .htaccess
??????????? css.php
??????????? favicon.ico
??????????? index.php
??? /myapp
??????? /app
??????????? /config
??????????? /controllers
??????????? /models
??????????? /plugins
??????????? /tmp
??????????? /vendors
??????????? /views
??????????? index.php
??? /mycake
??????? /cake
??????????????? /config
??????????????? /docs
??????????????? /libs
??????????????? /scripts
??????????????? app_controller.php
??????????????? app_model.php
??????????????? basics.php
?????????????? bootstrap.php
??????????????? dispatcher.php
??????? /vendors
?
接下来就需要对myroot/index.php 文件进行修改了,修改如下:
if (!defined('ROOT')) {
????????????? define('ROOT', DS . 'cakephp' . DS . 'myapp');
?????? }
?????? if (!defined('APP_DIR')) {
????????????? define('APP_DIR', 'app');
?????? }
?????? if (!defined('CAKE_CORE_INCLUDE_PATH')) {
????????????? define('CAKE_CORE_INCLUDE_PATH', DS . 'cakephp' . DS . 'mycake');
?????? }
?
这样修改以后就可以了。
?
四:apache配置
设置好上面的目录结构以后,需要对apache进行一些检查和配置,这也是我们新手常常遇到的问题。首先确保httpd.conf配置文件的mod_rewrite是否已经加载,如果没有,找到LoadModule rewrite_module modules/mod_rewrite.so把前面的#去掉。另外这里有个问题,我看其他文章上说还有AddModule mod_rewrite.c一直没找到,不知道怎么弄,希望知道的能给我说下。这里的httpd.conf要注意,是系统的http.conf 不是单一使用者或者网站的配置文件,在我常识过程中,我是架设的多站点服务器,也就是注册了很多个服务器,比如有个cake.conf文件,如果不修改这个文件,也不行,所以还是要把这个文件也修改了。以下的修改同理。第二个检查的地方是,配置文件的
??? Options FollowSymLinks
??? AllowOverride all
??? Order deny,allow
??? Deny from all
??? Satisfy all
这个部分
检查AllowOverride是否为all如果不是,请改为all。然后保存重启APACHE。
在其他文章中还提到有一点就是:可能你得到的CakePHP副本缺少了必须的.htaccess文件。因为有的操作系统会将以.开头的文件视作隐藏文件,因而不会拷贝它们。确定你的CakePHP副本是我们网站上下载或者是我们的SVN repository上checkout的。(我没有遇到^_^)
另外在unix或者linux下安装的话,如果你把Cake安装在一个用户目录下的话(http://example.com/~myusername/),你需要修改根目录中的.htaccess文件,加上一行"RewriteBase /~myusername/"。
?
五:数据库连接配置
在本安装中,找到myapp/app/config/ database.php.default文件,复制一份改名为database.php。然后用编辑器打开,对里面的数据库连接进行修改,看下就明白怎么改了,这里我也就不在说明了。
?
最后
?
浏览地址:
http://localhost/进入cakephp的欢迎页,现在就可以开始体验cakephp之旅了。
?
谢谢大家,在下一篇日志中,我将对构建一个样例程序blog进行经验分享,希望这些经验能给大家带来帮助,同时也希望大家能把我操作过程中的错误指出来。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wjazz/archive/2008/07/06/2618750.aspx

phpsession 실패 이유에는 구성 오류, 쿠키 문제 및 세션 만료가 포함됩니다. 1. 구성 오류 : 올바른 세션을 확인하고 설정합니다. 2. 쿠키 문제 : 쿠키가 올바르게 설정되어 있는지 확인하십시오. 3. 세션 만료 : 세션 시간을 연장하기 위해 세션을 조정합니다 .GC_MAXLIFETIME 값을 조정하십시오.

PHP에서 세션 문제를 디버그하는 방법 : 1. 세션이 올바르게 시작되었는지 확인하십시오. 2. 세션 ID의 전달을 확인하십시오. 3. 세션 데이터의 저장 및 읽기를 확인하십시오. 4. 서버 구성을 확인하십시오. 세션 ID 및 데이터를 출력, 세션 파일 컨텐츠보기 등을 통해 세션 관련 문제를 효과적으로 진단하고 해결할 수 있습니다.

Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

SESSION.GC_MAXLIFETIME 및 SESSION.COOKIE_LIFETIME을 설정하여 PHP에서 세션 수명을 구성 할 수 있습니다. 1) SESSION.GC_MAXLIFETIME 서버 측 세션 데이터의 생존 시간을 제어합니다. 2) 세션 .Cookie_Lifetime 클라이언트 쿠키의 수명주기를 제어합니다. 0으로 설정하면 브라우저가 닫히면 쿠키가 만료됩니다.

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
