我正在尝试使用CakePHP应用程序.为此,我设置了一个全新的Debian安装,更新了配置并将所有内容放在/ var/www中,其中包含以下内容:
app
cake
.htaccess
index.php
vendors
Run Code Online (Sandbox Code Playgroud)
.htaccess文件包含以下内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ /webroot/ [L]
RewriteRule (.*) /webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
如果我访问我的虚拟主机(http:// myhost /),我会看到正确的页面.但即使加载的JavaScript src="/js/validate.js"失败(它位于其中/var/www/app/webroot/js/validate.js):
[Wed Aug 26 15:45:12 2009] [error] [client 10.7.10.52] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Aug 26 15:45:12 2009] [debug] core.c(3063): [client 10.7.10.52] r->uri = /webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/js/prototype.js
[Wed Aug …Run Code Online (Sandbox Code Playgroud) 如何在CakePHP中获取客户端的IP地址?它是$_SERVER['REMOTE_ADDR']在普通的PHP中.
我认为它就像所有$_SERVER变量,可以使用env('VAR_NAME'),或getClientIP()在CakePHP中访问,但它不会返回相同的结果.
有任何想法吗?
如果我setcookie()使用相同的cookie名称拨打两次,我会创建两个cookie.
你如何更新现有的cookie?
我不时要将一些变量从PHP传递给JS脚本.现在我这样做了:
var js-variable = "<?php echo $php-variable; ?>";
Run Code Online (Sandbox Code Playgroud)
但这非常难看,我无法在.js文件中隐藏我的JS脚本,因为它必须由PHP解析.处理这个问题的最佳解决方案是什么?
在CakePHP 2我总是用来empty检查是否有任何结果.
<?php
$result = $this->Modelname->find('first', ['conditions' => ['field' => 'value'] ] );
if ( empty($result) ) {
// Bad Request
}
Run Code Online (Sandbox Code Playgroud)
在CakePHP 3它看起来很怪异.
$fancyTable = TableRegistry::get('FancyTable');
$query = $fancyTable->find()->where(['name' => 'fancy', 'active' => 0]);
if ( 0 === $query->count() ) {
// Bad Request
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
我想在CakePHP中创建一个全局变量.如果我在app_controller.php中定义了一些内容
var $varName
Run Code Online (Sandbox Code Playgroud)
我可以访问
$this->varName
Run Code Online (Sandbox Code Playgroud)
来自我的任何控制器,但我无法从模型中获得它.
如何创建可从模型访问的全局变量?
$ varName的值直到运行时才知道,所以我不认为bootstrap.php是一个选项.
当我E_NOTICE尝试引用一个永不设置或未设置的session(cake/libs/cake_session.php line 372)时,我在核心CakePHP文件中遇到错误:
function read($name = null) {
if (is_null($name)) {
return $this->__returnSessionVars();
}
if (empty($name)) {
return false;
}
$result = Set::classicExtract($_SESSION, $name);
}
Run Code Online (Sandbox Code Playgroud)
我已经完成了对我的代码(在app /目录中)的搜索,但我找不到对$_SESSIONor的引用session_destroy.我错过了什么吗?
当我尝试运行任何单元测试时,会出现此错误.这是......正常吗?我已清除cake/目录并将其替换为另一个(相同版本),以确保我没有无意中修改了核心文件中的任何内容,但我仍然得到相同的错误.我不确定这只是框架中的缺陷还是别的什么.
编辑
以下是在命令行上运行测试的结果:
Welcome to CakePHP v1.3.11 Console
---------------------------------------------------------------
App : app
Path: /var/www/program/app
---------------------------------------------------------------
CakePHP Test Shell
---------------------------------------------------------------
Running app case models/owners_equity
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
ERROR->Unexpected PHP …Run Code Online (Sandbox Code Playgroud) 我使用Zend Studio在PHP中使用CakePHP进行开发,而CakePHP的一个问题是视图都引用了未声明的局部变量.
例如,在控制器中你会
$ this-> set('job',new MyJobObject());
然后在视图中你可以
echo $ job-> getName();
我的问题是Zend Studio无法执行自动完成$job,因为它的类型未知.现在有PHPDoc标签允许您声明类型,以便IDE可以执行自动完成.@var例如,标签可以在类中用于定义属性的类型.
class MyJobObject
{
/**
* @var MyStatusObject
*/
public $status;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法为局部变量做这样的事情?
我正在学习如何使用CakePHP和我配置好的一切,但现在,我得到这个警告:
DebugKit is not installed. It will help you inspect and debug different aspects of your application. You can install it from github
我已经点击的链接,下载的应用程序,但我不知道在哪里放置这些文件夹...我使用的EasyPHP作为我的虚拟主机.
另外这里我遵循的步骤,
并且有:
`Ensure the plugin is loaded in app/Config/bootstrap.php by calling CakePlugin::load('DebugKit');`
Run Code Online (Sandbox Code Playgroud)
但我不知道call这里有什么东西,有提示吗?
我必须开发一个每天必须容纳大约2000个用户的站点,速度是它的标准.此外,该站点是一个面向用户的站点,用户可以登录并查看他的个人资料,注册他/她想要参与的特定事件.该站点将托管在VPS服务器上.虽然我很漂亮有python和PHP的良好经验,但我不知道如何使用任何一个框架.我们有足够的时间来试验和学习上述框架之一.请注意,考虑到网站的速度,功能和安全性,请考虑哪种方案适合这种情况.
谢谢,niting
cakephp ×10
php ×6
.htaccess ×1
apache2 ×1
cakephp-2.0 ×1
cakephp-2.2 ×1
cakephp-3.0 ×1
cookies ×1
django ×1
e-notices ×1
eclipse-pdt ×1
httpcookie ×1
ip-address ×1
javascript ×1
model ×1
python ×1
session ×1
yii ×1
zend-studio ×1