在阿里云Centos 上装了hhvm,经常会出现hhvm挂掉。这个要看hhvm的心情,有时一两天,有时一两个月都没有出现。Google了一下最简单的解决方法是写一个脚本用cron每分钟执行一次检查hhvm是否运行。
脚本如下:
#! /bin/bash
PID="`cat /var/run/hhvm/pid`"
if [ "$PID" == "" ]; then
/etc/init.d/hhvm start
if [ "`ps ax -o pid | grep $PID`" == "" ]; then
/etc/init.d/hhvm stop
/etc/init.d/hhvm start
fi
fi
将这段脚本保存在/home/check_hhvm.sh,并执行chmod +x /home/check_hhvm.sh,然后编辑/etc/crontab,加入一行
* * * * * root /home/check_hhvm.sh。
经测试,这个脚本可以让你的网站最多down一分钟。先当作临时的解决方案吧。
漏洞描述:wordpress IP验证不当漏洞
文件位置:/wp-includes/http.php
修复方案:
在文件的465行附近的 $same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );
改成 if ( isset( $parsed_home['host'] ) ) { $same_host = ( strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ) || 'localhost' === strtolower( $parsed_url['host'] ) ); } else { $same_host = false; } ;
在文件的 478行附件的 if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
改成 if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
漏洞描述:wordpress后台插件更新模块任意目录遍历导致DOS漏洞
文件位置:/wp-admin/includes/ajax-actions.php
修复方案:
在文件的2890行附近的 $plugin = urldecode( $_POST['plugin'] );
后面加上 $plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) );
昨天把Mac OS X El Capitan 升级到10.11.6版本了,今天使用mysql的时候,发现连接不上数据库,phpmyadmin也不能登陆。感觉应该是mysql 没有启动,进入系统偏好设置里面发现mysql果然没有启动,点击启动,没有成功。
提示“Warning, /usr/local/mysql/data is not owned by 'mysql' or '_mysql'”
解决方法:依次执行如下命令
cd /usr/local/mysql
sudo chown -R _mysql data/
重启mysql就好了
来源去stackoverflow
Open a terminal:
- Check MySQL system pref panel, if it says something along the line "Warning, /usr/local/mysql/data is not owned by 'mysql' or '_mysql'
- If yes, go to the mysql folder cd /usr/local/mysql
- do a sudo chown -R _mysql data/
- This will change ownership of the /usr/local/mysql/data and all of its content to own by user '_mysql'
- Check MySQL system pref panel, it should be saying it's running now, auto-magically. If not start again.
- Another way to confirm is to do a
netstat -na | grep 3306
It should say:
tcp46 0 0 *.3306 . LISTEN
To see the process owner and process id of the mysqld:
ps aux | grep mysql
在react-native init 项目的时候 ,卡的要死,几个小时都没成功,还把网速拖的好卡,完全不能上网。然后换了一个npm镜像1分钟搞定。
操作方法如下:
1.通过config命令
npm config set registry=http:
2.编辑 ~/.npmrc
加入下面内容
registry = https://registry.npm.taobao.org
经常在做应用的时候,发现跳转的路径太深了,当我又要跳转到某个界面时,可按以下操作。
返回根页面vc用 :
[self.navigationController popToRootViewController]
返回指定的某个vc用下面(通过index定位)
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
或(通过class定位)
for (UIViewController *controller in self.navigationController.viewControllers) {
if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
[self.navigationController popToViewController:controller animated:YES];
}
}
一般,编写SDK的时候,如果SDK还带了一些资源文件,那么最理想的是将资源文件也打包成为bundle给应用方一起使用。而在编资源bundle时,有时会发现编译好后的图片文件从png转成了tiff,这样找icon就会不正确了。解决的方法是更改编译设置COMBINE_HIDPI_IMAGES为NO. 如下图所示

在我们的界面上可能有很多的UILabel需要设置点击事件,所以我们给他们添加了手势操作,用tag 去判断点击的是哪个控件,而已报出以下错误:
[UITapGestureRecognizer tag]: unrecognized selector sent to instance
解决方法:
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(action:)];
[tapRecognizer setNumberOfTouchesRequired:1];
[tapRecognizer setDelegate:self];
label.userInteractionEnabled = YES;
label
.tag = 1111;
[label
addGestureRecognizer:tapRecognizer];
-(void) action:(id)sender
{
NSLog(@"TESTING TAP");
UITapGestureRecognizer *tapRecognizer = (UITapGestureRecognizer *)sender;
NSLog (@"%d",[tapRecognizer.view tag]);
}
在使用listview中,使用了 loadmore 控件出现如下问题
java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)
at android.widget.ListView.dispatchDraw(ListView.java:3329)
at android.view.View.draw(View.java:16204)
at android.widget.AbsListView.draw(AbsListView.java:4217)
at android.view.View.updateDisplayListIfDirty(View.java:15198)
at android.view.View.draw(View.java:15971)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.draw(View.java:16204)
at android.view.View.updateDisplayListIfDirty(View.java:15198)
看上面可能是headerview 影响的 但是我没有使用headview 使用了footerview 应该是listview 没有刷新。
上网查到了这么一段话
添加,移除ListView的headerView或者是footerView需要注意的地方?
添加:关于addHeaderView方法文档上有这么一句话,“Call this before calling setAdapter”,在调用这个方法之前,先要设定ListView的Adapter。addFooterView方法同样
移除:用到了系统提供的removeHeaderView或者removeFooterView方法,虽然文档上没有说明,但是调用这个方法应该在setAdapter之后。
这是之前就遇到过了,当时把addFooterView放在之后,结果没有效果.
那么由此,是Adapter报出来的也就不足为奇了,因为更换过Adapter,那我之后先去掉Adapter再添加上去了.
解决方法如下:
当cell的类型是plaint类型时,直接设置self.automaticallyAdjustsScrollViewInsets=NO;应该就可以的
当cell的类型是group类型时,此时要去掉tableView顶部的空白需要两步:
1.设置self.automaticallyAdjustsScrollViewInsets=NO
2.设置heightForHeaderInSection的高度为0.5
-(CGFloat)tableView:(UItableView *)tableView heightForHeaderInSection(NSInteger)section{
return 0.5;
}
最新评论
朋友 交换链接吗
我也要评论,东华理工
很强
你是老师啊?
写的这都是什么语言啊,看不懂呢
包子还是一个有为青年。
关于旅行,总有许多幸福和迷恋。初秋浪漫而至,期待自己的下一站快乐。
楼主你好,我最近也在研究安卓无线点餐,不知您的源码能否分享一下,提供一些思路,谢谢:)
嗯嗯,原来我以前的姿势都不对的啊
对不起,我也没搞清楚,是想下载别人的模板,都是在网上看到的,人家的“空间或者服务器主机,的文件地址咱们也不知道呀,怎么填写读入目录呀。 这样的话,根本是下不了别人网站上的模板吧。 请教详细的下载方法。最好是人家在线的网站