MCP 新的无状态协议,让我用不到 150 行自定义 PHP 把站点搜索暴露成智能体工具。
责任跟随控制权
开放权重把模型的创造、分发和使用拆给了不同角色。责任应当跟随控制权。
Ubuntu 上安装 Claude Code 完整指南
Ubuntu 20.04+ 上安装 Claude Code 的三种方式(原生脚本 / npm / apt 仓库),含国内网络处理、登录授权、升级卸载与常见报错排查。
Drupal 404页面杂谈
背景
对生产环境运行的站点,随时会有攻击或者恶意访问的问题,不可避免。
但是能抗住访问而不会导致站点崩溃则是需要努力的方向。
针对Drupal站点,如果已经启用了page_cache模块,则会对页面html进行缓存,相关数据存储在cache_page表中。
对正常的url,这样没问题;如果是一个不存在的url,则也会在cache_page中插入记录,如果数据库空间较小,则很容易消耗完数据库的空间;如果数据库设置了主从复制,则也会创建很多额外的binlog,占用额外的空间。
解决方法
在settings.php设置如下:
## 系统默认设置的ttl是3600s,也就是一小时;配合cron可以自动清理并释放空间。
$settings['cache_ttl_4xx'] = 0;
drupal 8/drupal 9 redis配置
settings.php配置
$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = '10.10.10.10';
$settings['redis.connection']['port'] = '6379';
$settings['redis.connection']['password'] = "your-redis-password";
$settings['cache_prefix'] = '1h_prd';
$settings['cache']['default'] = 'cache.backend.redis';
$settings['cache']['bins']['bootstrap'] = 'cache.backend.chainedfast';
$settings['cache']['bins']['discovery'] = 'cache.backend.chainedfast';
$settings['cache']['bins']['config'] Drupal 8 性能分析之统计运行时间
use Drupal\Component\Utility\Timer;
Timer::start('test');
$file = file_get_contents('/var/www/html/web/sites/default/files/2020-11/timg.jpg');
dpm($file);
$base = base64_encode($file);
sleep(1);
$time = Timer::read('test');
dpm($time);
dpm($base);
MacOS Big Sur挂载ntfs,可读写删(命令行方式)
背景
之前买了块1T的数据盘,用作windows数据备份,格式化为ntfs。现在想把这块盘挂载到Mac使用,但是挂载之后,只能读,不能写和删。 有些收费软件可以搞定这个事情,但是没去试用。 这里介绍命令行的方式,基于一些免费的开源工具。 该实践是基于Mac Big Sur;网上有很多资料都比较老,在最近的mac上安装会失败。本文步骤亲测实践可行。
阿里云OSS挂载到本地(MacOS)
- 开通阿里云OSS,创建bucket
- 获得bucket的ID,AppID,AppSecret
- 安装s3fs(阿里云提供了ossfs,但是不支持mac)
brew install --cask macfuse
brew install gromgit/fuse/s3fs-mac
- 创建~/.passwd-s3fs,内容格式如下
[AppID]:[AppSecret]
- 创建本地文件夹
mkdir ~/oss
- 挂载
s3fs [bucket-id] ~/oss -o url=https://oss-cn-hangzhou.aliyuncs.com -o passwd_file=~/.passwd-s3fs -o use_cache=/tmp
- 使用 可以像本地文件一样将文件放入~/oss即可。
Drupal settings.php 进阶配置(代理 / 真实 IP / 访问拦截 / 调试)
settings.php 里值得放的四类配置:出站 HTTP 代理、反向代理与真实 IP、按 URI/UA/IP 拦截噪音流量、分环境调试。含 reverse_proxy_addresses 配错导致 IP 伪造的风险,以及用 settings.local.php 做环境隔离的做法。
修改基于docker运行的solr容器xms运行内存
假设容器名为solr,执行如下步骤:
docker exec -itu root bash
apt update
apt install vim -y
vi /opt/solr/bin/solr.in.sh ##修改如下

docker restart solr
Glossary
- October 2026 (5)
- September 2026 (3)
- August 2026 (4)
- July 2026 (2)
- June 2026 (2)
- March 2023 (1)
- October 2022 (1)
- October 2021 (2)
- August 2021 (3)
- June 2021 (2)
- May 2021 (1)
- April 2021 (2)
- November 2020 (1)
- June 2020 (2)
- December 2019 (2)
- November 2019 (1)
- August 2019 (1)
- February 2018 (1)
- October 2017 (1)
- September 2017 (1)
- July 2017 (1)
- June 2017 (2)
- May 2017 (1)
- March 2017 (3)
- December 2016 (2)
- November 2016 (4)
- October 2016 (3)
- June 2016 (1)
- December 2015 (1)
- November 2015 (6)
- October 2015 (2)
- September 2015 (1)
- August 2015 (1)
- July 2015 (1)
- June 2015 (1)
- May 2015 (1)
- March 2015 (1)
- January 2015 (1)
- December 2014 (3)
- October 2014 (4)
- September 2014 (2)
- August 2014 (1)
- July 2014 (1)
- June 2014 (1)
- May 2014 (1)
- April 2014 (2)
- March 2014 (2)
- February 2014 (2)
- January 2014 (4)
- December 2013 (1)
- March 2013 (2)
- February 2013 (2)
- December 2012 (2)
- November 2012 (4)
- October 2012 (1)
- September 2012 (6)
- August 2012 (15)
- July 2012 (5)
- June 2012 (13)
- May 2012 (9)
- April 2012 (8)
- March 2012 (9)
- February 2012 (3)
- January 2012 (1)
- December 2011 (1)
- November 2011 (6)
- October 2011 (2)
- September 2011 (17)
- August 2011 (4)
- July 2011 (4)
- June 2011 (5)
- May 2011 (4)