Mr.Blog


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

MAMP 安装 PHP SSH2 扩展

发表于 2019-09-29 | 分类于 Mac
MAMP 安装 ssh2 扩展
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1. 安装 libssh2
brew install libssh2
#2. 下载ssh2源码包
curl -o ssh2.tgz http://pecl.php.net/get/ssh2-1.1.2.tgz
#3. 解压并安装
tar -zxvf ssh2.tgz
cd ssh2-1.1.2
phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.14/bin/php-config
make
make install
#4. 修改 php.ini
extension=ssh2.so
#5. 重新启动 MAMP
phpize 报错
  1. 缺少PHP的header头文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    grep: /usr/include/php/main/php.h: No such file or directory
    grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
    grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory

    # 安装 Xcode command line tools
    xcode-select --install
    # 若报错 xcode-select: error: command line tools are already installed, use "Software Update" to install updates, 安装header头文件SDK
    cd /Library/Developer/CommandLineTools/Packages/
    open macOS_SDK_headers_for_macOS_10.14.pkg
  2. Cannot find autoconf.

    1
    2
    3
    4
    Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.
    # 运行命令
    brew install autoconf

VMware15 安装 Mac 10.14

发表于 2019-07-20 | 分类于 Mac

准备工具:

  1. VMware Workstation 15.0.0
  2. VMware15 注册机
  3. Unlocker v3.0.0
  4. macOS Mojave 10.14 18A391.cdr
安装步骤
  1. 安装VMware, 并用Vmware15 注册机生成序列号
  2. 解压Unlocker, 以管理员身份运行 win-install.cmd (如果未解锁,创建虚拟机的时候,操作系统没有 MAC OS 10.14 选项)
  3. 新建虚拟机 -> 典型 -> 安装程序光盘映像文件(文件格式选择所有,不然无法找到 macOS Mojave 10.14 18A391.cdr)
  4. 虚拟机创建后, 先不打开, 编辑虚拟机系统文件下的 macOS 10.14.vmx, 找到 smc.present = "TRUE", 在其下新增一行 smc.version = "0" 后保存
  5. 打开虚拟机, 在 安装macOS 页面点击工具栏的实用工具 -> 磁盘工具 -> 单击左侧的vmware虚拟盘 -> 编辑 -> 抹掉 -> 关闭磁盘工具 -> 回到 安装macOS 页面 -> 选择刚才抹掉后的磁盘 -> 继续安装
阅读全文 »

MySQL 相关问题

发表于 2018-04-24 | 更新于: 2019-07-14 | 分类于 MySQL

MySql 报 could not be resolved: Temporary failure in name resolution

原因:MYSQL Server在本地内存中维护了一个非本地的Client TCP cache, 这个cache中包含了远程Client的登录信息, 比如IP地址、hostname等信息
如果Client连接到服务器后, MySQL首先会在本地TCP池中根据IP地址解析客户端的hostname或者反解析, 如果解析不到, 就会去DNS中进行解析, 如果还是解析失败, 就是在error log中写入这样的警告信息

1
2
3
4
#修改mysql配置文件
[mysqld]
skip-host-cache
skip-name-resolve

MySql5.7 子查询 order by 失效

1
2
3
4
5
6
7
#获取用户最新的30条评论
SELECT * FROM (SELECT * FROM comment ORDER BY id DESC) c GROUP BY c.user_id ORDER BY c.id DESC LIMIT 30

#问题:MySql5.5 与 MySql5.7 的执行结果不一样, 因为 5.7 会把order by优化掉

#解决:使用DISTINCT关键字
SELECT * FROM (SELECT DISTINCT * FROM comment ORDER BY id DESC) c GROUP BY c.user_id ORDER BY c.id DESC LIMIT 30
阅读全文 »

MySql geometry

发表于 2019-06-23 | 分类于 MySQL

通过 MySql geometry 存储用户经纬度, 搜索附近的人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- 创建表
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`longitude` decimal(10,7) DEFAULT NULL,
`latitude` decimal(10,7) DEFAULT NULL,
`geom` geometry DEFAULT NULL,
`desc` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 写入数据
INSERT INTO `test`.`test`(`longitude`, `latitude`, `geom`, `desc`) VALUES (118.0824300, 24.4457900, ST_GeomFromText('POINT(118.082 24.4458)'), '福建省厦门市思明区民族路33号中共厦门市思明区委员会(寿山路南)');
INSERT INTO `test`.`test`(`longitude`, `latitude`, `geom`, `desc`) VALUES (118.0671500, 24.4446400, ST_GeomFromText('POINT(118.067 24.4446)'), '福建省厦门市思明区鹭江道西侧鼓浪屿');
INSERT INTO `test`.`test`(`longitude`, `latitude`, `geom`, `desc`) VALUES (118.1044670, 24.4350380, ST_GeomFromText('POINT(118.104 24.435)'), '福建省厦门市思明区思明南路422号厦门大学');
INSERT INTO `test`.`test`(`longitude`, `latitude`, `geom`, `desc`) VALUES (118.0826410, 24.4528320, ST_GeomFromText('POINT(118.083 24.4528)'), '福建省厦门市思明区思明南路189号中华城');
INSERT INTO `test`.`test`(`longitude`, `latitude`, `geom`, `desc`) VALUES (118.1727416, 24.4857075, ST_GeomFromText('POINT(118.173 24.4857)'), '福建省厦门市思明区金山路与吕岭路交汇处西北侧宝龙一城');

-- 查询与指定经纬度之间的距离
-- 宝龙一城
SELECT CONCAT(longitude, ',', latitude), `desc`, ST_DISTANCE_SPHERE(POINT(118.1727416, 24.4857075), geom) AS distance FROM test;
-- 梅园大厦
SELECT CONCAT(longitude, ',', latitude), `desc`, ST_DISTANCE_SPHERE(POINT(119.0052, 25.43842), geom) AS distance FROM test;

之前也有一种用于计算距离的SQL, 经过对比, 使用 geometry 更准确

1
2
3
-- 不推荐使用
SELECT CONCAT(longitude, ',', latitude), `desc`, GLength(GeomFromText(CONCAT('LineString(24.4857075 118.1727416,', latitude, ' ', longitude, ')'))) / 0.0000092592666666667 AS distance FROM test;
SELECT CONCAT(longitude, ',', latitude), `desc`, GLength(GeomFromText(CONCAT('LineString(25.43842 119.0052,', latitude, ' ', longitude, ')'))) / 0.0000092592666666667 AS distance FROM test;

阿里云 - OneinStack 配置 pure-ftpd

发表于 2019-06-23 | 分类于 Linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1. 创建用户 https://oneinstack.com/install

#2. vi /usr/local/pureftpd/etc/pure-ftpd.conf
#被动连接响应的端口范围
PassivePortRange 20000 30000
#配置服务器公网IP
ForcePassiveIP 公网IP

#3. 防火墙开放21端口及被动端口 20000-30000
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=20000-30000/tcp --permanent
systemctl restart firewalld

#4. 阿里云安全组开放端口 21/21 (或20/21), 20000/30000

FFmpeg + nginx + rtmp 实现推流

发表于 2019-04-02 | 分类于 FFmpeg

项目目录:/www/ffmpeg
环境要求:ffmpeg + nginx + php + nginx-rtmp-module
H5直播要求:需运行在线上服务器,并申请SSL证书 ( getUserMedia需要https支持 )
目前FFmpeg推流及H5录制已初步实现,但是FFmpeg如何实时推送H5录制的视频,还未实现

rtmp 安装 及配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#1. 编辑 nginx.conf
vi /usr/local/nginx/conf/nginx.conf

#2. 尾部添加配置
#协议名称
rtmp {
#服务器相关配置
server {
#监听的端口,rtmp协议的默认端口号是1935
listen 1935;
chunk_size 4000;

#rtmp推流请求路径
application hls {
#开启实时
live on;
#不记录数据
record off;
}
}
}

#3. 重启nginx
systemctl restart nginx

#4. 开放1935端口
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 1935 -j ACCEPT
service iptables save
阅读全文 »

FFmpeg 安装

发表于 2019-04-01 | 分类于 FFmpeg
FFmpeg 安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#1. 安装依赖包
yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c ++ git libtool make mercurial pkgconfig zlib-devel

#2. 创建 ffmpeg_sources 目录
mkdir /ffmpeg_sources

#3. NASM - An assembler used by some libraries
cd /ffmpeg_sources
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz
tar -zxvf nasm-2.14.02.tar.gz
cd nasm-2.14.02
./autogen.sh
./configure --prefix="/usr/local/ffmpeg_build" --bindir="/usr/local/ffmpeg_build/bin"
make
make install

#4. 添加环境变量生效的路径
vi /etc/profile
export PATH=/usr/local/ffmpeg_build/bin:$PATH
wq
source /etc/profile
阅读全文 »
1…678…15
Mr

Mr

懒........

102 日志
21 分类
56 标签
RSS
Links
  • Novnan
  • 挨踢Blog
  • Eagle
  • Timber
  • 谢炳南
© 2020 — 2021 Mr
0%