Typecho链接在新窗口打开
编辑 /var/HyperDown.php,将 <a
全部替换为 <a target="_blank"
即可
编辑 /var/HyperDown.php,将 <a
全部替换为 <a target="_blank"
即可
编辑 /usr/themes/default/sidebar.php 文件,删除第二行的 kit-hidden-tb
侧边栏没有针对手机端的优化,但如果不显示出来就要另外加个分类页,个人认为还是显示出来好些。
本插件目前有两个功能:
1、发布文章时通过API主动将文章推送给百度
2、用户在前台浏览文章时,会在每个页面底部加载自动提交代码,将当前浏览的页面提交给百度
写了个Typecho生成sitemap.xml的插件,目前还不完善,只能输出独立页面和文章链接,不会输出分类、标签和日期归档
项目地址:https://github.com/BlueJay21st/Typecho-Sitemap
效果:https://coldwinter.top/sitemap.xml
#先在系统偏好设置中停止Mysql服务
#执行以下命令删除MySQL(仅适用于默认路径安装)
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
#删除安装时添加的环境变量
vim ~/.bash_profile
strpos('字符串', '查找字符串');
//返回值为目标字符串第一次出现的位置(从0开始计数)
echo strpos('Hello World', 'Hello');
//0
echo strpos('Hello World', 'e');
//1
str_replace('要替换的内容', '替换为此内容', '目标字符串');
//返回值为替换后的字符串
echo str_replace('Hello', 'Bye', 'Hello World');
//Bye World
PHP版本:7.2
Mysql版本:5.7.31
使用PDO预处理执行insert语句插入数据,prepare执行成功,但execute返回false。
输出PDO错误结果也为空
print_r($pdo->errorCode());
print_r($pdo->errorInfo());
经排查发现主键字段未设置自增.
Db.php
<?php
use PDO;
class Db
{
/*
PDO对象
*/
protected static $pdo;
/*
配置数组
*/
protected static $config;
/*
是否开启了事务
*/
protected static $transaction = false;
/*
执行语句数
*/
protected static $transaction_exec = 0;
/*
本次事务执行成功语句数
*/
protected static $transaction_success = 0;
/*
本次事务执行成功并影响了数据的语句数
*/
protected static $transaction_valid = 0;
/*
初始化
*/
protected static function init()
{
$config = require('config.php');
self::$config = $config;
$pdo = new PDO('mysql:host='. $config['location'] .';port='. $config['hostport'] .';dbname='. $config['database'] .';', $config['username'], $config['password']);
$pdo -> query('set names '. $config['charset']);
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
self::$pdo = $pdo;
include ROOT_PATH.'Query.php';
}
/*
制定表全名并开始查询
table:完整的表名
*/
public static function table($table)
{
if(!self::$pdo) self::init();
$querier = new Query(self::$pdo);
return $querier->table($table);
}
/*
指定不带前缀的表名并开始查询
name:不带前缀的表名
*/
public static function name($name)
{
if(!self::$pdo) self::init();
$querier = new Query(self::$pdo);
return $querier->table(self::$config['prefix'].$name);
}
/*
开启事务
*/
public static function startTrans()
{
self::$transaction = true;
self::$transaction_exec = 0;
self::$transaction_success = 0;
self::$transaction_valid = 0;
self::$pdo->beginTransaction();
return true;
}
/*
提交事务并判断是否回滚
mode:事务模式
0、无条件提交
1、有SQL语句执行失败即回滚
2、有写入操作影响行数为0即回滚
*/
public static function commit($mode = 1)
{
self::$transaction = false;
switch($mode)
{
case 0:
self::$pdo->commit();
return true;
case 1:
if(self::$transaction_exec === self::$transaction_success){
self::$pdo->commit();
return true;
}else{
$this->rollback();
return false;
}
break;
case 2:
if(self::$transaction_exec === self::$transaction_success){
if(self::$transaction_exec === self::$transaction_valid){
self::$pdo->commit();
return true;
}
}
$this->rollback();
return false;
default:
$this->rollback();
return false;
}
}
/*
回滚事务
*/
public static function rollback()
{
self::$pdo->rollBack();
self::$transaction = false;
return true;
}
/*
执行语句数 + 1
*/
public static function incExecNum()
{
self::$transaction_exec++;
}
/*
执行成功语句数 + 1
*/
public static function incSuccessNum()
{
self::$transaction_success++;
}
/*
执行成功并影响数据的语句数 + 1
*/
public static function incValidNum()
{
self::$transaction_valid++;
}
public static function error()
{
print_r(self::$pdo->errorCode());
print_r(self::$pdo->errorInfo());
}
}
PHP 的会话默认是以文件的形式存在的,可以配置到 Redis 中,即提高了访问速度,又能很好地实现会话共享!
配置方式如下:
方法一:修改 php.ini 的设置
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
;需连接密码才可访问方式
;session.save_path = "tcp://****.redis.rds.aliyuncs.com?auth=123456"
方式二:通过 ini_set() 函数设置
ini_set("session.save_handler", "redis");
ini_set("session.save_path", "tcp://127.0.0.1:6379");
PHP官方对于session配置的定义:php.net
原文地址:将php中session存入redis中