手机怎么隐藏应用上的看护应用,东东隐藏哪里去了

为什么我的手机 应用管家 null看护失败 是什么意思? 怎么决解?_百度知道
为什么我的手机 应用管家 null看护失败 是什么意思? 怎么决解?
能和手机完美融合我们还可以在它上面卸载软件或者更改手机软件的权限等等在手机安全上,很不错呢腾讯手机管家是手机安全管理和手机软件管理的结合体,清除一下就可以的手机设置——应用程序——应用管家——清除数据二胺后使用腾讯手机管家来清理一下应该就可以了呢在手机上安装腾讯手机管家打开它——健康优化——垃圾清理——扫描了就可以彻底的清理了,结合手机自身的杀毒引擎,而且兼容性是最好的,可以深度清理的,Yin私空间等功能它拥有腾讯自主研发的云查杀技术,是目前被使用最广泛的助手软件它上面的软件不光是齐全,还有延长电池使用时间等等还提供了流量监控,手机防dao,它提供了手机优化提速,垃圾清理彻底应该是这个应用的数据存在了问题呢,还望采纳,能最有效保护手机安全如果有问题追问哦
其他类似问题
null的相关知识
按默认排序
其他1条回答
都会程序错误, 出现就重新装就卸载了在装
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用旧安卓手机组建简单家庭看护系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
“什么值得买”是一家高性价比网购商品推荐...
评价文档:
用旧安卓手机组建简单家庭看护系统
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢作者: 东东东
( 1 / 17)
用Laravel开发应用,把原有的代码copy过来,以前的代码session使用了$_SESSION,本以为移植过来可以很好的运行的,因为没有依赖其他的组件,结果出现了这个
Undefined variable: _SESSION
Laravel的session的配置文件配置在 app/config/session.php 中,使用时可以看看 session 配置文件中可用的选项设定及注释。
Laravel 默认使用 file 的方式来实现 session的。她并不用php原生的$_SESSION(php原生的session要看php.ini的位置),所以忽略php相关的session函数,例如session_start(), $_SESSION。Laravel在运行过程中会在app/storage/session/目录写入session的信息,所以这个目录需要有写权限,否者session就无法写入成功。
Laravel除了使用默认的file作为session的实现,还支持cookie, Memcached, Redis 和数据库的后端驱动作为session的实现。必要的时候还需要自己实现一个session的实现方式,比如在微信公众账号和用户的交互,这中session就无法直接使用,因为每次都是微信服务器来请求,无法通过请求的来源来辨别用户。
laravel的session简要API
Session的API还是比较简单的,大家看看也大概知道是怎么个意思。但是有那么几个还不太好理解。
//session的永久保存(在不过期范围内)
Session::put('key', 'value');
//等同于PHP的原生session
$_SESSION['key'] = 'value';
$value = Session::get('key', 'default');
//去除操作并删除,类似pop概念
$value = Session::pull('key', 'default');
//检测是否存在key
Session::has('users');
Session::forget('key');
这个对应只要session不过期,基本上是永久保存,下次http请求也是存在的。不同于下面的flash概念。
laravel的session中flash概念
但是Laravel出了个快闪flash的概念,把我一下子给搞混了。这个flash两次请求有效(本次和下次请求有效),与本次请求取操作多少次无关。
//保存key,value
Session::flash('key', 'value');
//取值方法还是一样的
Session::get('key');
//刷新快闪数据时间,保持到下次请求
Session::keep(array('username', 'email'));
这个flash的概念和上面的put的概念不太一样。
:这个对应只要session不过期,基本上是永久保存,下次请求也是存在的。
flash :保存的值,本次请求可以使用,下次http请求可以使用,再下一次就不存在了。
也就是说下一次的请求用完就被销毁了,不会让session的值变的越来越大,可以保存一些临时的数据。
这中情况的使用场景比如有:
用户请求了页面,出现错误信息,重定向到一个新的页面,需要展示之前的数据。(虽然可以通过url参数来传递,处理不好可能会有xss漏洞)。
用户访问了一个页面,过滤器发现没权限,保存当前页面url,重定向到登录页面,登录成功,取出值,重定向到原先的页面。(这里可能需要刷新保存的快闪数据)
session落地的时间
我天真的以为使用了Session::put函数就能保存这个变量了。于是我的代码这样写:
class LoginController {
public function login(){
Session::put('key','value');
print_r( Session::all() ); //取出来看看是否put成功
//习惯性的调试都exit,不执行后续代码
//return Redirect::to(/); 框架在return后还会有后续的代码执行的
结果下次请求就是找不到本次的Session,而且看app/storage/session目录就是没有文件生成。总感觉不对劲啊。
后来看到网络上有个方法Session::save(),于是我也用了下,居然发现成功的生成了session的文件。于是我感觉到,Laravel不用php原生的session,那么在controller之后应该做了一些事情,将session写入到文件中,而不是每次put操作都写操作,这样会IO操作太频繁的,影响性能的。
查看调用相关的代码。laravel编译后,在bootstrap/compiled.php中
class Middleware implements HttpKernelInterface
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
$this-&checkRequestForArraySessions($request);
if ($this-&sessionConfigured()) {
$session = $this-&startSession($request); // 启动session
$request-&setSession($session);
$response = $this-&app-&handle($request, $type, $catch); // 调用controller的method
if ($this-&sessionConfigured()) {
$this-&closeSession($session);
//关闭session
$this-&addCookieToResponse($response, $session);
protected function closeSession(SessionInterface $session)
$session-&save();
// 保存session
$this-&collectGarbage($session);
小提示:如果不知道函数调用情况,可以在controller中throw new Exception();,然后在/config/app.php的debug更改为debug=&true。可以看到函数的调用关系。
可以看见,在调用完controller之后,调用了session-&save()的方法,来主动的保存session。这样session才能落地保存起来,如果在controller或者view里面写了,那么session是不会被保存的,除非主动的写Session::save()才能手工的保存起来。因此在debug调试的时候千万要注意啊。
访问MySQL数据库除了可以使用phpmyadmin、第三方数据库客户端,也可以使用命令行的MySQL客户端,因为敲命令不太方便,所以被很多人给抛弃呀。
但有时候没办法,phpmyadmin不能用,只能使用命令行模式了,不过用多了,感觉命令行的也不错,除了写SQL比较慢。
## 基本命令
mysql -h hostip -P port -u usernmae -p passwd dbname -A
-h mysql的ip
dbname 数据库名
直接进入数据库,不用use dbanem了
,--no-auto-rehash 不自动重新进行哈希运算。
该选项使mysql启动得更快,但果你想要完成表和列名,你必须发出rehash命令。
## 登录MySQL
# 访问本地的test数据库
mysql -h127.0.0.1 -P3306 -uroot -proot test
## 对数据库执行sql文件,导入数据
# 执行sql.sql文件,一般做导入数据使用
mysql -h hostip -P port -u usernmae -p passwd dbname & sql.sql
## 执行sql导出数据到文件
# 执行sql.sql文件里的sql语句,然后将数据导出到/tmp/data文件中
# 数据tab分隔,没有列名
cat sql.sql | mysql -h hostip -P port -u usernmae -p passwd dbname & /tmp/data
导入excel使用tab分隔数据就可以了。
## 将MySQL交互的文本保存到文件
# 将mysql客户端输出的文本保存到文件
mysql& tee /tmp/textdata
# 设置要保存的文件
Logging to file '/tmp/textdata'
mysql& select *
cat /tmp/textdata
这样在`/tmp/textdata`就可以看到刚刚输出的文本,通过这种方式也能导出数据。
uwsgi和nginx的log一样都是在一个文件名上写log,无法按天进行rotate,所以单个文件的体积会越来越大,不利于log的备份。
nginx的log切分方法
在网络上研究了nginx的log切分方法,原理比较简单。
先重命名文件,mv access.log access-.log
然后reload一下nginx。
nginx继续在access.log上写log
我想这种方法也是应该可以应用到uwsgi上面的。但是没有那么容易。
尝试应用到uwsgi
先重命名文件,mv uwsgi.log uwsgi-.log
然后reload一下uwsgi。
没有看到uwsgi.log文件
与想象中的完全不一样。发现uWSGI的reload操作根本重不会新打开log文件。这样就需要变更一下思路了。
解决方案一
参数touch-logreopen可以重新打开日志。
logto = /data/log/MODULE/uwsgi.log
touch-logreopen=/data/log/MODULE/.touchforlogrotate
touch-logreopen当指定的文件被touch过后,时间戳发生变化,会让uWSGI重新打开日志文件,并且不会终止当前的服务(不是stop+start,而是reload的概念)。
#!/bin/bash
module=&module_name&
DIR=`echo $(cd &$(dirname &$0&)&; pwd)`
#获取当前目录
LOGDIR=&/data/log/$module/&
sourcelogpath=&${LOGDIR}uwsgi.log&
#log源地址
touchfile=&${LOGDIR}.touchforlogrotate&
#需要touch的文件
DATE=`date -d &yesterday& +&%Y%m%d&`
destlogpath=&${LOGDIR}uwsgi-${DATE}.log&
#重命名后的文件
mv $sourcelogpath $destlogpath
#echo $touchfile
touch $touchfile
# 更新文件时间戳
然后在crontab中加入这个,让每天0点0分的时候切分日志,当然了也可以23点59分,不过要更改一下shell脚本。
00 00 * * * /data/you_module_name/bin/uwsgirotate.sh
& /dev/null 2&&1
当然了,也可以不用crontab,如果你有logrorate服务,可以往里面添加一些事件,来进行日志的滚动。
解决方法二
官方说参数log-maxsize &bytes&,可以让uWSGI的日志文件达到一定大小后重新打开。不过我记得当达到一定大小后,并没有重新写入到uwsgi.log文件中,比较奇怪。而且按日志大小来切分,感觉没有按时间来切分的好。
解决方案三
使用参数log-master,让主进程监听一些信号,当想master进程发送信号后,日志就会重新打开,这个也是要配合mv操作先更改文件名才能的。具体参考官方的使用。
现在微信的WeixinJSBridge可以控制微信内置浏览器的一些界面UI,甚至还可以调用微信的一些组件,比如摄像头、打开公众账号等等操作,那么手机QQ是否也有类似的JS接口呢?
答案是:有,但还不对外开放。
我问了手机QQ的JS接口开发人员,要想使用MobileQQ JS API是有域名权限控制的。目前还只能腾讯业务使用,将来或许会开放到QQ开放平台到,但是接口不会一下子放出来,会慢慢的放开来给普通开发者使用。看了下他们mqq的JS API接口,写的文档还不错。期待他们的对外开放。
但是,虽然不能使用手机QQ的JS API接口,但是官方还是有一些方法能够隐藏手机QQ内置浏览器的`底部导航`等等。具体的实现方式不能使用JS来控制,而是通过URL来控制。
## 定制webview
webview是什么?简单的理解就是手机QQ的内嵌浏览器吧。
## 使用方法
只需在url上添加一个名为`_wv`的参数即可配置不同的UI:
/uri?...&_wv=N
其中N是各种组合之和,例如N=5=1+4,表示有1和4的效果。具体的值有:
+ 1: 隐藏【底部导航】(隐藏后『返回按钮』功能变为『页面后退』, 可以配合4使用)
+ 2: 隐藏【功能菜单】
+ 4: 在隐藏【底部导航】的情况下,『返回按钮』直接关闭页面
+ 8: 隐藏【功能菜单】里的【分享给好友】项
+ 16: 隐藏【功能菜单】里的【分享到QQ空间】项
+ 32: 隐藏【功能菜单】里的【复制链接】项
+ 64: 隐藏【功能菜单】里的【查看帐号资料】项[4]
+ 128: 隐藏【功能菜单】里的【调整字体】项
+ 256: 隐藏【功能菜单】里的【用系统浏览器打开】项
+ 512: 隐藏【功能菜单】里的【用QQ浏览器打开】项
+ 1024: 锁定竖屏模式(禁用横屏)
+ 2048 [未实现]: 锁定横屏模式(禁用竖屏)
+ 4096 [iOS]: 禁用向右滑动关闭WebView的手势
+ 8192: 隐藏【功能菜单】里的【收藏】项
+ 16384:(4.7+) 隐藏【功能菜单】里的【分享到微信】
+ 32768:(4.7+) 隐藏【功能菜单】里的【分享到朋友圈】
+ 65536:(4.7+) 禁用webveiw缓存
+ 131072:(5.3+) 全屏
+ 262144:无用
+ 524288:(5.3+) activity 透明
+ 1048576:(5.3+) 忽略登录态(不种入登陆态)
+ 2097152:(5.3+) 忽略多层返回时显示”关闭”按钮
## 一些特殊的情况
Android下,当没有设置_wv参数时,默认为_wv=4,因此【返回按钮】行为是退出整个webview,当设置了其它不包括4的值,譬如_wv=1024(禁用横屏)则返回按钮行为是【页面回退】。
git是个好东西,tortoisegit也是个好东西。在Windows下使用tortoisegit用的比较多,而对命令行的时候比较少。
对于tortoisegit可以支持使用密钥有两种,一种是支持openssh的密钥,一种是支持putty的密钥。但是这两种不同,对于Linux的ssh一般都使用openssh,但是没关系,我们可以转换。
使用putty的密钥
我们来看看这样方式,在安装TortoiseGit的时候其实会让你选择默认使用的ssh客户端,默认情况下是使用TortoiseGitPlink这个客户端。
指定ssh的客户端为TortoiseGit
生成putty密钥
在安装tortoisegit的时候,默认还会安装有Puttygen.exe这个程序,这个程序是可以生成putty密钥的。
点击Generate按钮后会按一个进度条,然后鼠标不断在该程序内动,目的是生成一些随机数。
我第一次使用鼠标傻傻的不动,然后进度条非常的缓慢,我想这个东西生成一个密钥那么慢?原来是我打开的方式不对。
putty密钥生成
点击save private key保存putty的私钥,putty的密钥的后缀名是ppk。
在服务器上添加openssh公钥
我们在上面创建了putty的密钥对,现在需要将生成的公钥添加到服务器上。
其实这里也可以把公钥添加到上,也是可以使用的。
putty生成的公钥是和openssh的的公钥是相同的,他们只是私钥不同
假设刚刚生成的公钥是
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key
登录到服务器的需要添加公钥的用户名下,比如user1这个用户名。
cd /home/user1/
mkdir .ssh
#如果这个目录不存在
touch .ssh/authorized_keys
#如果这个文件不存在
chmod 600 .ssh/authorized_keys
#设置一下文件的权限
echo &ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key& \
&& .ssh/authorized_keys
#这个和上面是同一行的
注意:公钥在authorized_keys的文件形式是一行一个公钥,切记。否则该公钥不起作用。
在tortoisegit上使用密钥
公钥已经添加到服务器去了,接下来就是在客户端上设置密钥了。
在git clone的时候使用,如下设置:
git clone设置putty私钥
这样就可以搞定了。
putty密钥与openssh密钥转化
如果你有putty的私钥了,但是想在ssh客户端下使用openssh的私钥,再去生成一个openssh的密钥对比较麻烦(能偷懒就偷懒嘛)。
点击Conversions菜单项中的Import key
选择一个putty的私钥或者openssh的私钥
点击save private key保存为putty的私钥
或者点击菜单Conversions->Export OpenSSH Key保存为openssh的私钥
SSH登录一直失败
如果SSH登录一直失败,看看是否权限会有些问题?参考
搞一个ssh的密钥登录,结果发现就是无法使用密钥登录,非让我输入密码。苦恼。
输入ssh连接代码
ssh -i private.key -v
从连接的信息中看不出有什么问题。
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering public key: private.key
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: password
已经提示说了,使用公钥登录,并且提供了私钥,但是还是提示让我输入密码。
但是我使用另外一个帐号去登录,发现是ok的,可以登录成功。我把成功的那个`authorized_keys`复制到我的那个用户名下,发现还是不能登录。但是验证了服务器的sshd功能是正常运行的,否则另外一个账户就没办法登录了。我觉得两个用户名的所在的环境应该是相同了,但是确实无法登录。
想到了客户端这里的连接没有更多有效的信息,那就想到了去服务器上看看相关的信息。`vim /var/log/secure`查看一下日志。发现有这么一段话:
Authentication refused: bad ownership or modes for directory /home/user/.ssh
上网搜了一下这个问题,发现原来是`.ssh`的目录权限不对,设置一下正确的权限:
chmod 700 ~/.ssh
在此过程中还学习到了一个sshd的测试模式。
/usr/sbin/sshd -p 10022 -d
以调试模式运行。服务器将在前台运行并发送非常详细的调试日志信息,
服务器将只允许接入一个连接,并且不派生出子进程。仅用于调试目的。
使用多个 -d 选项可以输出更详细的调试信息(最多3个)。
会开启一个sshd的调试模式,新建一个10022端口,在客户端连接这个端口的时候,服务器端会有debug日志输出在屏幕上,这个时候就可以查看详细的信息。然后再针对信息进行解决。
服务器用户对于ssh目录权限有一些权限要求,权限不对的话ssh无法工作,建议以下权限作为最小的权限。
chmod 700 .ssh
# chmod 755 .ssh 也是可以的
chmod 600 .ssh/authorized_keys
chmod 400 .ssh/private.key
#把密钥的权限也设置为最小
终于又可以愉快的编程了。
Google之前出了android wear,个人感觉很时髦,有个朋友就买了个moto 360,我们一起在上面开发一个应用。
Android Wear 开发现状
现在的android wear还没能独立成为一个设备,需要依赖手机进行更多的操作。现在的apple watch也是类似,计算能力大部分还是依靠手机端。
比如手表要访问网络,需要通过蓝牙发请求到手机上,然后由手机进行网络请求,再通过蓝牙返回给手表。这意味着,你想在android wear上开发一个app,那么必须也要在手机上开发一个app,两个配套使用。这个概念类似于智能设备或智能手环,智能手环上的数据需要通过蓝牙传送给手机,手机的app做更多信息的处理。只是手表上可以有更多信息的展示和交互。
社交分享方式一 使用SDK
我们有一个需求是:将我们设备的数据分享到微信朋友圈或者是QQ空间,让用户的数据和好友分享,然后好友可以查看他的分享,关注我们的app,形成一个闭环。
一开始想到的,我们在手机上开发的app调用手机QQ、微信的SDK的,来进行分享。因为这个方法有看见过,是第一直觉。
QQ空间分享
进入到腾讯开发平台,查看。
说明:现在QQ移动开放平台的功能、下载已经不在QQ互联(/)了。已经移到开发平台(/)。
微信分享朋友圈
进入,需要注册一下微信开放平台的账号,下载Android SDK,另外有个比较重要的调试资源签名生成工具需要安装,然后提交审核(审核的时间比较慢,要早提交),这样在分享到朋友圈的时候才会出现小尾巴。
具体的QQ分享SDK、微信朋友圈代码我就不多说了,官方有教程,网络上也有很多的教程。
问题一:手机分享必须通过用户参与才能分享
但是有个是想说明的:
从起QQ分享到QQ空间和微信分享到朋友圈必须经过用户的参与,不能程序(Server和app程序)通过HTTP API分享到用户的QQ空间或者微信朋友圈。
这个大家不用再苦苦寻找通过QQ分享说说的HTTP API接口了,我已经向内部人士多方确认过了。
:add_share和add_one_blog接口已于正式下线。请PC网站调用PC空间分享组件,移动端下载最新版本的SDK后调用shareToQQ或shareToQzone接口,以满足用户分享一条动态(feeds)到QQ空间的功能。
这么做的目的应该是让用户知道他们做了什么操作,并且会有什么样的结果。如果让程序自己通过HTTP API来请求服务器,那么用户完全无感知,不符合用户的感受。但是这样做就会让产品人员感到痛苦,因为让用户做最少的操作,来完成一个功能,是产品追求的。
问题二:让用户在你的体验手机上登录微信或QQ
前面说过了,手表不能独立存在,需要依靠手机,并且不是随便一个手机都能轻易连接手表的,需要在手机上安装程序才行(对于moto360来说需要最新的Andriod Wear、Google search、Googla Play)。
微信账号属于重要的私人社交账号,而且换个手机登录会有登录限制。也许你会问用你们自己的开发账号呀!那么问题就来了,那你还要让用户分享干嘛,分享不就是为了在他的好友圈产生关注,然后进入你的页面,导入新的用户,体验你的产品,形成一个闭环。
鉴于以上这些,你的产品要给用户体验,用户会容易的安装这些?会登录他自己的微信?显然不会。
社交分享方式二 二维码分享
二维码可以让用户通过相机扫描获得更多的信息,微信的扫一扫出来后也是风靡一时,现在也有很多东西是通过二维码扫描来进行的。
想象一下这个过程:
通过利用手机QQ、微信的扫描二维码得到一个URL
微信会自动打开网页,手机QQ会让用户看到URL,并需要用户确认,两者体验不同。
打开网页后,浏览信息。
分享到朋友圈或者QQ空间。
好友点开网址查看,体验,分享到自己的朋友圈、QQ空间,达成闭环。
通过二维码的方式完全解决了第一个用户需要使用体验手机登录的问题。
只是单次二维码的分享时间会比较长。
自定义微信网页的分享,调用微信JS API
在微信打开URL网页后,可以自定义分享的图文,或者调用微信的JS API来实现高级功能。
微信公众账号有一个JS API,WeixinJSBridge,例如,可以隐藏右上角的按钮。
官方的这个接口并没有开放给所有人使用,估计是微信公众账号放出来,但是权限没控制好吧。官方的接口不太好用,github上有一个微信JS API的封装类库,可以推荐使用一下,。
手机QQ的JS API
我问了手机QQ的JS接口,要想使用MobileQQ JS API是有域名权限控制的。目前还只能腾讯业务使用,将来或许会开放到QQ开放平台到,但是接口不会一下子放出来,会慢慢的放开。
看了下他们mqq的JS API接口,写的文档还不错。期待他们的对外开放。
二维码生成
网络上也有二维码类库,比如PHP版本的有phpqrcode,Python有qrcode、python-qrcode
通过SDK和二维码分享的方式有些区别,有不同的使用场景。
SDK分享一般用在app分发到用户的手机上,需要用户安装app。
二维码分享一般用在活动现场,用户扫描二维码直接分享。
本来想写个JavaScript测试脚本,自动打开新标签,去访问网页进行一个压力测试,因为JS需要去连接后台的数据,所以没办法使用ab这些工具去压测。看上去一个很简单的需求,却没办法自动实现。
使用window.open方法只能弹出一个小窗口,不能在新标签页中打开。这就有一个问题了,我当时打开的窗口有上百个,当达到一定数量后,整个chrome就崩溃了。原因我觉得应该是Windows对进程的使用空间有限制,打开一个标签后,chrome会给窗口分配一个新进程或者和其他老进程共用一个,这就会出现标签或者页面过多导致空间占用大,然后程序崩溃了。
后来想到了通过a标签,可以打开新的标签页,于是就对a标签进行事件的处理。发现同样的代码只有用户有click事件触发时,才会在新标签也中打开一个新窗口,如果使用setTimeout、setInterval这样的函数来调用,或者是在控制台里直接触发click是没办法在新标签也面中打开的,只能在小窗口中打开。也尝试了很多网络上说的方法,比如createEvent,trigger,dispatchEvent都不管用。
相关信息:之前看到一个文章,说Firefox等浏览器对event有一个新的属性event.isTrusted,可以查看一些还有。
这里可能是浏览器对于打开新标签页有一些限制吧。不能让程序自动打开无数的标签,但是为什么可以打开新窗口却不能打开新标签页呢?
最后是通过chrome的一个插件New Tab Redirect来解决的,然后狂按ctrl+T来手工打开很多的新窗口。
增加mcrypt
如果想偷懒ubuntu用户直接 apt-get install php5-mcrypt,发现还是不能用,修改/usr/local/php/lib/php.ini(每个人有差异,同时cli模式下也需要增加)增加下面内容
extension=mcrypt.so
如果你想自己编译安装,可以参考下文的openssl安装方法。
增加openssl的配置
我是从之前的PHP源码编译安装的。因为我之前的PHP源码还在的。
cd ~/php-5.5.16/ext/openssl
/usr/local/php/bin/phpize
Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
mv config0.m4 config.m4
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make && make install
进入到/usr/local/php/lib/php.ini增加
extension=openssl.so
重启php-fpm。
自己动手,丰衣足食版
先安装composer,参考
然后下载,解压缩。
进入到目录下方compuser install
这个会让你的文件目录下多vendor。
下载一个,然后解压缩就能用,不用为laravel安装组件。
这个的缺点就是你要更新你的laravel,会依赖于其他人更新。
我是在自己的本地安装了一个composer,然后自己去下载最新的laravel组件,最后把整个包压缩上传到服务器去。不过这样更新生产环境的laravel会比较麻烦。不管了,一本开发了也不会对框架做太多的更新。
如果你迫不及待的访问url,会出现一些错误error in exception handler.。这个是因为写缓存、日志目录的没有写权限
为目录设置正确的写权限
/app/storage这个目录是laravel的一些写文件的目录,会写log、session、页面缓存等数据,所以要对这个目录设置正确的权限。
如果你为了方便设置chmod +777 app/storage也是可以的。但是我还是不推荐。
我推荐将目录的权限设置为会写文件的用户名和用户组。
chmod -R 777 app/storage
#访问一下网页,看看是否有输出。
#进入到/app/storage/session的文件组是谁?我的是nobody
#这个是php的用户组,我的nginx也是这个组
chmod -R 775 app/storage
chown -R :nobody app/storage
然后配置nginx就能访问了。
更改成debug模式,查看错误信息
有时候会出现问题,有不知道具体的信息,所以需要打开laravel的debug模式,可能查看更多的输出。
进入到laravel项目的/app/config/app.php
//把配置中的debug的false改成true
'debug' =& true
hello markdown!
用了一些markdown语法,发现很不错。以前博客使用的是html语言,感觉还ok,毕竟html标签用的比较少,常用的就code、a、li、talbe这几个标签。但是在看文章的源代码的时候,那几个html标签看起来还是比较不爽的,一开一闭合,感觉很冗余。而且看文章的格式看上去不太清晰。
但是markdown就不会那样,看源码感觉就感觉整篇文章的结构依旧清晰。所以就将wordpress的结构进行修改,让其改成markdown语法。当然要支持markdown extra了。
选择、下载插件
这里的插件使用的是,这个版本是支持WordPress的,不要下载到PHP Markdown Lib,这个不支持WordPress的。
我上网找了一些markdown插件,发现种类繁多,不知道怎么确定,那么就是用michelf版本的好了,因为这个是我最先接触到的一个版本,有中先入为主的观点。
这个插件安装就更简单了。
下载来就一个文件markdown.php,将其放到(site home)/wp-content/plugins/目录。
进入到WordPress后台,启用该插件。
禁用可视化编辑器。进入到WordPress管理后台,用户->{选择一个用户}->可视化编辑器,勾选撰写文章时不使用可视化编辑器
然后就去尝试一些使用markdown撰写你的文章吧~
与语法高亮插件兼容
该插件和以前的文章兼容较好,但是发现和SyntaxHighlighter Evolved语法高亮插件有些不兼容,代码部分出现一些多余的标签。
markdown.php源码中有下面这个
add_filter('the_content',
'mdwp_MarkdownPost', 6);
add_filter('the_content_rss', 'mdwp_MarkdownPost', 6);
add_filter('get_the_excerpt', 'mdwp_MarkdownPost', 6);
这个是markdown的SyntaxHighlighter的优先级有不一样,SyntaxHighlighter的是7,所以我把markdown的语法调成10了。
add_filter('the_content',
'mdwp_MarkdownPost', 10);
add_filter('the_content_rss', 'mdwp_MarkdownPost', 10);
add_filter('get_the_excerpt', 'mdwp_MarkdownPost', 10);
文章中编写代码
要想文章中插入代码,不能使用markdown的语法,还是得使用SyntaxHighlighter的语法,毕竟SyntaxHighlighter有自己的语法规则。
所以上面的语法高亮还是这么使用:
[c0de language=&php&]
add_filter('the_content',
'mdwp_MarkdownPost', 10);
add_filter('the_content_rss', 'mdwp_MarkdownPost', 10);
add_filter('get_the_excerpt', 'mdwp_MarkdownPost', 10);
原谅我文中使用c0de代替code,因为插件嵌套工作不好呀。
Copyright & 2015}

我要回帖

更多关于 手机怎么隐藏应用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信