本地的数据库中本来有一个mesg表,后来在这个表后面增加了一个字段maid。
在某个操作中使用
$mesg = D('Mesg');
dump($mesg);
模型里有:
protected $_map = array(
'user'=>'muser',
'content'=>'mcontent',
'time'=>'mtime',
'aid'=>'maid',
);
结果中有这个:
["fields:protected"] => array(8) {
[0] => string(3) "mid"
[1] => string(4) "muid"
[2] => string(5) "muser"
[3] => string(8) "mcontent"
[4] => string(5) "mtime"
[5] => string(4) "maid"//这个
["_autoinc"] => bool(true)
["_pk"] => string(3) "mid"
}
在本地里面是有maid字段的。
但是上传到sinaapp上面的时候,还是同样的操作,结果却是:
["fields":protected] => array(7) {
[0] => string(3) "mid"
[1] => string(4) "muid"
[2] => string(5) "muser"
[3] => string(8) "mcontent"
[4] => string(5) "mtime"
["_autoinc"] => bool(true)
["_pk"] => string(3) "mid"
}
而下面这个无论在本地还是sae上都是正常的:
["_map":protected] => array(4) {
["user"] => string(5) "muser"
["content"] => string(8) "mcontent"
["time"] => string(5) "mtime"
["aid"] => string(4) "maid"
}
本来sae上面的table也是没有那个字段的,后来增加了字段无效,我把所有表重新传上去也无效。
runtime删了很多次也是无效,不知道是什么原因造成的?
回复讨论(解决方案)
先确认 sae 端的表结构已经修改成功
待本地以 sae 方式调试成功后,重新提交整个项目
先确认 sae 端的表结构已经修改成功
待本地以 sae 方式调试成功后,重新提交整个项目
sae表结构是已经修改好的。
“待本地以sae方式调试成功”是什么意思?
先确认 sae 端的表结构已经修改成功
待本地以 sae 方式调试成功后,重新提交整个项目
我现在新建的第二个版本,然后把第一个版本的全部copy过去,然后就好了!!
谢谢!
但是我想知道是什么原因造成的?
在你的机器上你不是用 sae 方式调试的吗?
常规的项目入口文件
require './ThinkPHP/ThinkPHP.php';
SAE的项目入口文件
require './ThinkPHP/Extend/Engine/Sae.php';
先确认 sae 端的表结构已经修改成功
待本地以 sae 方式调试成功后,重新提交整个项目
还有我想问如果不弄第二个版本,怎样将第一个版本整个重新提交?
我不知道应该怎么重新提交。
在你的机器上你不是用 sae 方式调试的吗?
常规的项目入口文件
require './ThinkPHP/ThinkPHP.php';
SAE的项目入口文件
require './ThinkPHP/Extend/Engine/Sae.php';
嗯,这个明白了
还有我想问如果不弄第二个版本,怎样将第一个版本整个重新提交?
我不知道应该怎么重新提交。 你不是用 SVN 软件的吗?
在项目目录上右键-提交即可
引用 5 楼 的回复:
还有我想问如果不弄第二个版本,怎样将第一个版本整个重新提交?
我不知道应该怎么重新提交。
你不是用 SVN 软件的吗?
在项目目录上右键-提交即可
那样提交之后就是没有作用,还是一样有那个问题。
但是我重建一个版本问题就解决了。
不知道为什么。
我也遇到这个问题了。网上搜了下,说是KVDB缓存的问题。然后我禁用KVDB,重新开启,但还是出现这个情况。经过一番折腾才知道禁用KVDB并没有清空缓存,虽然禁用的时候也提示了,但是至少我的没有被清空,原因就不去纠结了。
你可以用下面的代码来查看你的KVDB的缓存内容
[code]$kv = new SaeKV();
$ret = $kv->init();
$ret = $kv->pkrget('', 100);
dump($ret);
[/code]
如果你禁用并重新开启KVDB后,运行上面代码仍然输出缓存内容,那说明KVDB的缓存还在。
复制下面的代码,执行后解决一切问题。
[code] $kv = new SaeKV(); //创建SaeKV对象
$ret = $kv->init(); //初始化
$ret = $kv->pkrget('', 100); //获取缓存内容(帮助文档注明了上限为100条)
$this->show('
当前KVDB缓存内容
');dump($ret);
//遍历并删除
foreach ($ret as $key => $value) {
$ret = $kv->delete($key);
}
$this->show('
');
$this->show('
清空KVDB缓存后的内容
');$ret = $kv->pkrget('', 100);
dump($ret);
if (!$ret){
$this->show('
');
$this->show('KVDB清空成功');
};
[/code]

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境