Ubuntu 15.10 中,已经可以使用Ubuntu Make简化Android开发环境配置了,具体方法如下:
1.安装Ubuntu Make
|
1 |
$ sudo apt-get install ubuntu-make |
2.配置Android开发环境
|
1 |
$ umake android |
然后根据提示,一步一步操作就可以了。
一会之后,就会发现Android Studio已经安装成功了。
就是这么简单!
Ubuntu 15.10 中,已经可以使用Ubuntu Make简化Android开发环境配置了,具体方法如下:
1.安装Ubuntu Make
|
1 |
$ sudo apt-get install ubuntu-make |
2.配置Android开发环境
|
1 |
$ umake android |
然后根据提示,一步一步操作就可以了。
一会之后,就会发现Android Studio已经安装成功了。
就是这么简单!
要从U盘运行Ubuntu,需要插入一个至少2G空余空间的U盘。使用USB安装器是将Ubuntu安装到U盘最简单的方式,它由 pendrivelinux.com 提供。下载Pen Drive Linux’s USB安装器后,安装并运行。也可本站下载。
从下拉选项中选择Ubuntu桌面版本,或者自行用BT、迅雷等软件下载Ubuntu ISO文件。

点击“浏览”然后打开已下载的ISO文件。
选择一个USB驱动器并点击“创建”,注意,U盘里的数据请备份,“创建”过程会格式化U盘。

Ubuntu系统本身附带一个小程序Startup Disk Creator,直接制作可启动U盘Ubuntu系统。本站下载
|
1 2 3 4 5 6 |
java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.EVP_MD_CTX_destroy(Native Method) at com.android.org.conscrypt.OpenSSLDigestContext.finalize(OpenSSLDigestContext.java:27) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:191) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:174) at java.lang.Thread.run(Thread.java:818) |
|
1 2 3 4 |
java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds at java.lang.Daemons$Daemon.isRunning(Daemons.java:79) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:171) at java.lang.Thread.run(Thread.java:818) |
|
1 2 3 |
The reason for this timeout can come from two options: 1. A problem in the finalize code - trying to perform complex logic in the native destroy part. 2. CPU/Screen timeouts - the screen will dim and power off, followed by a System deep sleep state. the deep sleep can happen in a Garbage collection run, and when the device wakes up - a timeout can happen. |
后台备案号的设置是从 WP 3.7 开始的,查看网站根目录的 wp-config.php 文件,一般会看到 define('WP_ZH_CN_ICP_NUM', true); 这个定义,这个就是用来添加后台备案号设置的。如果你的 WP 版本在 3.7 以上,而且 wp-config.php 含有define('WP_ZH_CN_ICP_NUM', true); 就可以在后台 设置 - 常规 中看到配置选项。

这个“ICP备案号”仅对WordPress自带主题有效。
如果使用的是第三方WordPress主题,因此不能享受到 WordPress 这个新添加的小功能实在是让人窝火。不过好在你只需要在自己所用的主题的footer.php中添加一行代码,即可让在WordPress 后台添加的ICP备案号显示出来了。
|
1 2 3 |
<a href="http://www.beian.miit.gov.cn/" rel="external nofollow" target="_blank"> <?php echo get_option( 'zh_cn_l10n_icp_num' );?> </a> |
如果你不希望链接到工信部网站,只添加下面的代码即可。
|
1 |
<?php echo get_option( 'zh_cn_l10n_icp_num' );?> |
最近在开发站群软件,用到了根据访问域名判断子站点的相关问题。PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME,我想知道两者的区别以及哪个更加可靠。
首先我想说,百度上那些转来转去的文章都是扯淡!
有说相同的,有说不同的,都没说明原因,没经过验证就互相转来转去的,浪费观众时间。
下面说说本人经过亲自验证 + 查阅官方文档 + 官方BUG列表 + 官方邮件列表 + sitepoint + webmasterworld + google的总结:
相同点:
当满足以下三个条件时,两者会输出相同信息。
1. 服务器为80端口
2. apache的conf中ServerName设置正确
3. HTTP/1.1协议规范
不同点:
1. 通常情况:
_SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。
_SERVER["SERVER_NAME"] 默认情况下直接输出apache的配置文件httpd.conf中的ServerName值。
2. 当服务器为非80端口时:
_SERVER["HTTP_HOST"] 会输出端口号,例如:mobibrw.com:8080
_SERVER["SERVER_NAME"] 会直接输出ServerName值
因此在这种情况下,可以理解为:HTTP_HOST = SERVER_NAME : SERVER_PORT
3. 当配置文件httpd.conf中的ServerName与HTTP/1.0请求的域名不一致时:
httpd.conf配置如下:
|
1 2 3 4 |
<virtualhost *> ServerName mobibrw.com ServerAlias www.mobibrw.com </virtualhost> |
客户端访问域名www.mobibrw.com
_SERVER["HTTP_HOST"] 输出 www.mobibrw.com
_SERVER["SERVER_NAME"] 输出 mobibrw.com
所以,在实际程序中,应尽量使用_SERVER["HTTP_HOST"] ,比较保险和可靠。
Ubuntu 环境,当apache2重启提示:
|
1 2 3 |
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName |
解决的问题是:
|
1 |
$sudo vim /etc/apache2/sites-available/default |
打开default文件后,在default文件顶端(第一行)加入:
|
1 |
ServerName www.mobibrw.com |
重启Apache2就不会提示上述错误了。
参考链接
Ubuntu Apache2重启提示could not reliably determine the server’e fully…问题解决
|
1 2 3 4 5 6 7 8 9 10 |
<? //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERER"]; $_SERVER['REQUEST_URI'];//获取当前域名的后缀 $_SERVER['HTTP_HOST'];//获取当前域名 dirname(__FILE__);//获取当前文件的物理路径 dirname(__FILE__)."/../";//获取当前文件的上一级物理路径 ?> |
Apache2开启了Https支持,但是在Https打开网页的时候,发现,图片都不能正常的显示出来,看了一下源代码,发现是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,导致效果很差,因此需要WordPress同时支持HTTP,HTTPS。
找到当前主题下的 function.php 文件,编辑之,在里边代码的末尾追加如下代码:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
/* 替换图片链接为 https */ function https_image_replacer($content){ if( is_ssl() ){ /*已经验证使用 $_SERVER['SERVER_NAME']也可以获取到数据,但是貌似$_SERVER['HTTP_HOST']更好一点*/ $host_name = $_SERVER['HTTP_HOST']; $http_host_name='http://'.$host_name.'/wp-content/uploads'; $https_host_name='https://'.$host_name.'/wp-content/uploads'; $content = str_replace($http_host_name, $https_host_name, $content); } return $content; } add_filter('the_content', 'https_image_replacer'); |
参考链接:WordPress 开启全站 HTTPS
WordPress 4.4中使用 Twenty Fifteen主题的情况下,常用的"Link Manager"插件已经不能正常使用来的,因此只能是手动添加"友情链接"。
使用如下方法,“外观”-“小工具”直接把“链接”模块添加至菜单栏即可:
WP Super Cache 是 WordPress 官方开发人员 Donncha 开发,是当前最高效也是最灵活的 WordPress 静态缓存插件。它把整个网页直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速。
WP Super Cache 缓存机制有三种,mod_rewrite 缓存模式 , PHP 缓存模式,传统缓存模式。
WP Cache 缓存时,会在你的“wordpress 安装文件夹/wp-content/cache/”文件夹下生成一系列wp-cache-xxxxxx.html格式的文件;Super Cache 缓存时,则在你的“wordpress 安装文件夹/wp-content/cache/supercache/”文件夹下生成对应每一篇文章或者标签等的目录。名称为xxx.html,取决于你的文章ID是怎么设置。目录下面就是静态的 index.html 文件。
当你一个访问者来的你的站点,他没有登入或者也没有留言,这样他得到是一个在 WordPress cache 文件夹下的 supercache 子文件夹下的纯静态文件,其实你都可以自己到上面的 supercache 目录下去查看同样的永久链接的 HTML 文件的备份。
判断一个页面是否已经被缓存了,查看该页面的源代码,如果访问者已经登陆或者留了言,就会返回 WP Cache 函数生成的页面,并且最后一行会有“Cached page generated by WP-Super-Cache+缓存时间”这行字,就像下面这行代码一样:
|
1 |
<!-- Cached page generated by WP-Super-Cache on 2016-01-17 17:47:16 --> |
而 Super Cache 缓存会多一行如下代码:
|
1 |
<!-- super cache --> |
因为 Super Cache 是真正静态的,对搜索引擎和博客的速度非常有好处,而且有效的减轻了 php 和 Mysql 的查询压力。这点对于大型博客来说优势很明显,一般的较小的博客感觉就不怎么明显。
1.在插件页面中查找"WP Super Cache",然后安装即可。
2.在"设置"->"固定链接"中增加固定链接设置,建议如下设置:
注意:不要设置成"?/p=%post_id%",这样设置之后会导致无法在首页中打开分类目录,导致所有的分类都被重定向到了首页。
3.在插件页面中启用"WP Super Cache"。
4.页面中原有的链接,如果原来没有设置过"固定链接"的话,类似如下"http://www.mobibrw.com/?p=2969"的样子(比如站内的相互引用链接),不需要进行任何修改,只是这样访问不会缓存而已。
5.开启Apache2的mod_rewrite模块
|
1 |
$ sudo a2enmod rewrite |
重启Apache2
|
1 |
$ sudo service apache2 restart |
修改Apache2配置文件:
|
1 |
$ sudo vim /etc/apache2/sites-available/default |
修改其中的:
AllowOverride None为AllowOverride All
参考下面的修改:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
DocumentRoot /var/www/wordpress <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/wordpress> #Options Indexes FollowSymLinks MultiViews Options FollowSymLinks MultiViews AllowOverride All FCGIWrapper /usr/bin/php5-cgi .php Options ExecCGI SymLinksIfOwnerMatch Order allow,deny allow from all </Directory> |
如果同时启用了Apache2的Https功能,则需要同时修改相同目录下面的default-ssl文件。