給我 1000億美元,我?guī)湍惆寻俣荣I下來(lái),這已經(jīng)是最便宜的解決方案了,google 我怕你買不起
vagrant reload --provision試一下;
看起來(lái)好像是缺少一些依賴
tcp 沒(méi)有同步和異步之分。tcp 只是一種網(wǎng)絡(luò)協(xié)議。
至于,同步和異步。這個(gè)問(wèn)題就很經(jīng)典了,可以去多看看這方面的東西。
在MySQL并發(fā)大的情況下 冷熱數(shù)據(jù)分離是一種優(yōu)化手段
select product.name as product_name, category.name as category_name from product left join category on product.category_id = category.id
var ws = new WebSocket("ws://127.0.0.1:8081?token={token}");
var_dump(htmlentities($response));
將字符轉(zhuǎn)換為 HTML 轉(zhuǎn)義字符
不然你獲取到的字符會(huì)被瀏覽器解析。
問(wèn)題已經(jīng)解決。非常感謝指點(diǎn),因?yàn)閮?nèi)容也是變量,未加密和加密后我在<?php echo 輸出內(nèi)容變量就好了。謝謝
修改后是:$('.div1').html('<?php echo $*** ?>');
謝謝,但是又有個(gè)疑問(wèn),我在<p>這里是文章主題內(nèi)容</p>加了層<div id="div2">,
然后$('.div1').html($('#div2'));
為什么空白一片??沒(méi)有替換輸出id#div2這塊,我想輸出#div2這塊層區(qū)域
使用replaceAll也是沒(méi)有效果。
錯(cuò)誤提示的比較清楚了, 找不到指定的模塊。
請(qǐng)檢查 extension_dir 是否包含dll模塊。
官方下載 PHP7 windows包是具有這些模塊的,路徑相對(duì)于php.ini同級(jí)別的 ext 目錄下。
文檔上寫的請(qǐng)求參數(shù)是在header中。你試試在header中加入authorization
還有 authorization是string類型的
問(wèn)題1,沒(méi)有保存密碼,驗(yàn)證密碼的時(shí)候又重新生成了新密碼,所以永遠(yuǎn)都是密碼錯(cuò)誤
問(wèn)題2,$data='{password:"' . $password. '"}'; 和 echo json_encode($data);重復(fù),json_encode就是生成json的
問(wèn)題3,ajax使用dataType: "json"時(shí),jquery會(huì)自動(dòng)解析json字符串,不需要再一次data = eval("("+msg+")");
問(wèn)題4,獲取密碼的點(diǎn)擊事件中,還沒(méi)有輸入密碼呢,干嘛還要提交密碼 data: {password: password}, //提交到password.php的數(shù)據(jù)
<?php
session_start();
function getRandPass()
{
$chars = ("0123456789abcdefghijklmnopqrstuvwxyz");
$min = 6;//最小字?jǐn)?shù)
$max = 9;//最大字?jǐn)?shù)
$len = mt_rand($min,$max);//隨機(jī)長(zhǎng)度
$password = '';
$a_len = strlen($chars);
for($i = 0;$i < $len;$i++)
{
$password .= $chars[mt_rand(0,$a_len - 1)];//隨機(jī)取出一個(gè)字符
}
return $password;
}
if(isset($_POST['password']))
{
if($_SESSION['password'] == $_POST['password'])//驗(yàn)證密碼
{
$data['code'] = 1;
}
else
{
$data['code'] = 0;
}
}
else
{
$password = getRandPass();
$_SESSION['password'] = $password;//保存密碼,以便下次驗(yàn)證密碼
$data['password'] = $password;
}
echo json_encode($data);//輸出json數(shù)據(jù)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<input type="text" id="password">
<button id="sub">
獲取密碼
</button>
<button id="gopass">
驗(yàn)證密碼
</button>
<input type="text" id="text">
<span id="texts">
</span><!-- 用以顯示返回來(lái)的數(shù)據(jù),只刷新這部分地方 -->
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$('#gopass').click(function()
{
var password = $('#password').val();
if(password == '')
{
$('#texts').html('密碼不能為空!');
return false;
}
$.ajax(
{
url: 'password.php',
type: 'POST',
dataType: 'json',
data:
{
password: password
},
beforeSend: function()
{
$('#texts').html('驗(yàn)證中!');//用于調(diào)試驗(yàn)證過(guò)程
},
success: function(data)
{
if(data.code == 1)
{
//驗(yàn)證密碼
$('#texts').html('驗(yàn)證成功' );
}else
{
$('#texts').html('密碼錯(cuò)誤!');
}
}
});
});
$('#sub').click(function()
{
var password = $('#password').val();
$.ajax(
{
type: "get",
url: "password.php",//提交到password.php的數(shù)據(jù)
dataType: "json", //回調(diào)函數(shù)接收數(shù)據(jù)的數(shù)據(jù)格式
success: function(data)
{
$('#text').empty(); //清空Text里面的所有內(nèi)容
$('#text').val(data.password); //密碼在#text中輸出
$('#texts').html('獲取成功!');
console.log(data); //控制臺(tái)輸出調(diào)試結(jié)果
},
error:function(msg)
{
console.log(msg);//控制臺(tái)輸出錯(cuò)誤調(diào)試結(jié)果
}
});
});
</script>
</body>
</html>var hardware = JSON.stringify(obj.ext_info)
為了安全。
往深講那就是為什么unix,linux 哪怕是 windows 都有不同的用戶權(quán)限。
理論上直接點(diǎn)這個(gè)點(diǎn)就可以,不過(guò)我沒(méi)試過(guò)。聲音可以這樣關(guān)掉。
bus=virtio
b是一個(gè)類,不是接口,不能去實(shí)現(xiàn)
許久沒(méi)有管這個(gè)事情……自問(wèn)自答了……
翻了一下評(píng)論曰實(shí)際上是一個(gè)fat文件系統(tǒng)權(quán)限的問(wèn)題……說(shuō)是說(shuō)不能叫做bug……但是總之就當(dāng)個(gè)注意點(diǎn)吧……
參考ben at indietorrent dot org 的回答……
也就是復(fù)制到fat格式的文件系統(tǒng)上時(shí)會(huì)產(chǎn)生如此的錯(cuò)誤……
From the Changelog notes:
"Warnings may be generated if the destination filesystem doesn't permit chown() or chmod() system calls to be made on files — for example, if the destination filesystem is a FAT filesystem."
More explicitly, rename() may still return (bool) true, despite the warnings that result from the underlying calls to chown() or chmod(). This behavior can be misleading absent a deeper understanding of the underlying mechanics. To rename across filesystems, PHP "fakes it" by calling copy(), unlink(), chown(), and chmod() (not necessarily in that order). See PHP bug #50676 for more information.
On UNIX-like operating systems, filesystems may be mounted with an explicit uid and/or gid (for example, with mount options "uid=someuser,gid=somegroup"). Attempting to call rename() with such a destination filesystem will cause an "Operation not permitted" warning, even though the file is indeed renamed and rename() returns (bool) true.
This is not a bug. Either handle the warning as is appropriate to your use-case, or call copy() and then unlink(), which will avoid the doomed calls to chown() and chmod(), thereby eliminating the warning.在點(diǎn)擊按鈕后,給有權(quán)限的人分配一個(gè)Token,并將該Token 記錄到緩存中,設(shè)置為 1分鐘過(guò)期.
操作:
用戶點(diǎn)擊進(jìn)入按鈕的時(shí)候, 判斷當(dāng)前擁有權(quán)限的人數(shù)是否達(dá)到閥值 (判斷Token的數(shù)量)
達(dá)到閥值,然會(huì)403 Forbidden. 否則生成新的Token 分配給該用戶
大致邏輯應(yīng)該是這樣的.僅供參考.
這個(gè)代碼肯定是跑不起來(lái)的哦.不過(guò)思路應(yīng)該就這樣了
<?php
// 除了 Auth 可以匿名訪問(wèn)(就是客戶端請(qǐng)求的時(shí)候,不帶Token的情況)之外. 其他的所有請(qǐng)求都必須攜帶Token上傳
// 這里的Token 可以放到 Header 中
$request = HttpRequest;
$response = HttpResponse();
// 請(qǐng)求資源不是Auth,且沒(méi)有攜帶Token的情況,直接返回403,或者跳轉(zhuǎn)頁(yè)面到獲取Token的地方(就是點(diǎn)擊進(jìn)入頁(yè)面的那個(gè)按鈕的地方)
if ($request->getPath() !== 'auth' && !$request->getHeader('token')) {
return $response->withHeader(403);
}
// 如果攜帶Token,但是Token已經(jīng)失效,那么不能訪問(wèn),或者跳轉(zhuǎn)到獲取Token頁(yè)面重新獲取Token
if ($token = $request->getHeader('token') && !(new Accessable($token))->isTokenAvaliable()) {
return $response->withHeader(403);
}
// 正常邏輯
/*****************************************************************************************/
class Accessable()
{
protected $token;
public function __construct($token)
{
$this->token = $token;
}
/**
* 老用戶是否還有權(quán)限可以訪問(wèn),就是判斷他的Token是否還存在,畢竟1分鐘后,Token就會(huì)自動(dòng)被刪除
*/
public function isTokenAvaliable()
{
$redis = Redis();
if ($redis->exists($token)) {
return true;
}
return false;
}
}
/**
* 授權(quán)操作
*/
class Auth
{
const EXPIRE_TIME = 60;
const AUTH_TOKENS = 'auth_tokens'; // 用來(lái)保存所有的Token,方便Redis查詢
public function POST()
{
if (!$this->isNewUserAvaliable()) {
return 403; // 返回403 Forbidden
}
$token = $this->generateToken();
return $token;
}
/**
* 生成可以訪問(wèn)的票據(jù)Token
*/
protected function generateToken()
{
$redis = new Redis();
$token = sprintf('Token:%s', uuid());
$redis->set($token, 1);
$redis->expire($token, self::EXPIRE_TIME); // 設(shè)置為1分鐘自動(dòng)過(guò)期
$redis->sAdd(self::AUTH_TOKENS, $token);
return $token;
}
/**
* 對(duì)于新用戶是否可以訪問(wèn)判斷(因?yàn)樗麤](méi)有攜帶Token上來(lái),那么就是新用戶)
* 判斷方式,是查詢Redis中存在的Token數(shù)量是否達(dá)到閥值
*/
protected function isNewUserAvaliable()
{
$redis = new Redis();
$tokens = $redis->sMembers(self::AUTH_TOKENS);
$counter = 0;
foreach ($tokens as $token) {
if ($redis->exists($token)) {
++$counter;
continue;
}
$redis->sRem($token);
}
if ($counter >= self::MAX_USER_COUNT) {
return false;
}
return true;
}
}
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。