linux环境 宝塔 连接sql server 2008

SqlServer数据库端口默认是1433

1.首先需要编译安装FreeTDS

说明:一定要从官网下载最新的版本FreeTDS-# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
# tar -zxvf freetds-patched.tar.gz
# cd freetds-1.00.94

需要注意的就是这里的–with-tdsver=7.3,这个非常重要,你需要根据你的数据库版本选择正确的配置项,由于现在大多是SQLserve2008所以需要选择7.3.

# ./configure –prefix=/usr/local/freetds –with-tdsver=7.3 –enable-msdblib
# make && make install

配置FreeTDS

# cd ../

# echo “/usr/local/freetds/lib/” > /etc/ld.so.conf.d/freetds.conf
# ldconfig

验证FreeTDS版本

这一步非常重要,通过才可以继续,不然后面的步骤都是无意义的。

首先看看版本信息

# /usr/local/freetds/bin/tsql -C

测试数据库是否联通

# /usr/local/freetds/bin/tsql -H 数据库服务器IP  -p 端口号(1433) -U 用户名 -P 密码

 

3.添加PHP扩展pdo的pdo_dblib

cd /root/

下载php-5.6.30.tar.gz

#tar -zxvf  php-5.6.30.tar.gz

 

#cd /root/php-5.6.30/ext/pdo_odbc

#/www/server/php/56/bin/phpize
#./configure –with-php-config=/www/server/php/56/bin/php-config –with-pdo-#dblib=/usr/local/freetds/
#make && make install

<?php
header(“Content-type: text/html; charset=utf-8”);
try {
$hostname = “数据库IP”;
$port = 1433;
$dbname = “数据库名”;
$username = “blog.csdn.net.unix21”;
$pw = “password”;
$dbh = new PDO (“dblib:host=$hostname:$port;dbname=$dbname”,”$username”,”$pw”);
} catch (PDOException $e) {
echo “Failed to get DB handle: ” . $e->getMessage() . “\n”;
exit;
}

$stmt = $dbh->prepare(“SELECT top 5 * FROM tablename”);
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
}
unset($dbh); unset($stmt);

?>

CakePHP 使用Redis缓存Paginator的数据

本身的Paginator无法缓存直接修改源代码方便缓存

也可以另存为新的Component

本文上不了头条 管理员说文字描述不够 难道这年头作者都可以去写代码了是吧

简易的可以看github:http://christianyeah.github.io/CakePHP-Paginator-Cache/

/lib/Cake/Controller/Component/PaginatorComponent.php 定位到196行和大约215行

/*
修改一下代码
源代码仅为
$results = $object->find($type, array_merge($parameters, $extra));
*/
if(!isset($options['cache_config'])){
    $results = $object->find($type, array_merge($parameters, $extra));
}
else{
    $cache_key = 'paginator_cache_'.$object->name.'_page_'.$page;
    $results = Cache::remember($cache_key, function() use ($object,$type,$parameters,$extra){
                   return $object->find($type,array_merge($parameters, $extra));
               },$options['cache_config']);
}
 
 
//开始修改 以上代码不变 仅方便定位
/*
修改一下代码
源代码仅为
$results = $object->find($type, array_merge($parameters, $extra));
*/
if(!isset($options['cache_config'])){
    $count = $object->find('count', array_merge($parameters, $extra));
}
else{
    $cache_key = 'paginator_cache_'.$object->name.'_count';
    $count = Cache::remember($cache_key, function() use ($object,$type,$parameters,$extra){
                 return $object->find('count',array_merge($parameters, $extra));
             },$options['cache_config']);
}

使用方法:

首先修改core.php

//probability代表一个概率 查看源码后可以知道是time()%$probability ==0 时调用Cache::gc()
Cache::config('common_paginator_cache_redis', array(
    'engine' => 'Redis',
    'duration' => '+15 minutes',
    'probability' => 70
));

控制器中修改:

//使用方法
//加入以下代码设置cache config即可 其他代码无需更改
$this->paginate = array(
    'limit' => 12,
    'cache_config'=>'common_paginator_cache_redis'//新增 匹配core.php中的配置
);

FreeFileSync – 最佳免费开源文件夹同步备份软件工具 (FTP/局域网/U盘/移动硬盘)

FreeFileSync 软件优点:

  • 免费开源,允许商业使用;跨平台支持 Windows、macOS、Linux
  • 支持 Unicode (中文文件名)
  • 支持局域网共享文件夹的同步
  • 支持 FTP、SFTP 同步
  • 文件夹对比、同步速度快
  • 可以一次批量执行多组同步作业
  • 提供 RealTimeSync工具,可以监视文件夹变化自动同步
  • 支持命令行调用
  • 提供绿色便携版,可以免安装使用 (需要付费赞助)

Free File Sync 跨平台支持 Win、Mac 和 Linux 三大平台,软件开源、免费可商用,完全可以满足绝大部分人日常所有的文件/文件夹同步和备份需求,可以说是办公人士必备利器了!

软路由ros(MIKROTIK)安装教程:[11]端口映射

    1. 首先,用WINBOX登陆ROS。

      软路由ros(MIKROTIK)安装教程:[11]端口映射

    2. 操作:IP-Firewall,再点击NAT

      软路由ros(MIKROTIK)安装教程:[11]端口映射

    3. 其实原来,已经有了一条NAT了,就是配置时做的共享上网功能,现在再按“红色+号”

      这个举例子:把内网服务器192.168.1.250的80端口映射到外网161.223.56.88的80端口

      如图

      软路由ros(MIKROTIK)安装教程:[11]端口映射

    4. Action栏:

      Action项:选择DST-NAT,下一行,写内网地址,再下一行,写端口,最后OK

      软路由ros(MIKROTIK)安装教程:[11]端口映射

    5. 完成后,你测试一下,应该没问题了。如图,如要做多个映射,按方法就行了。

      软路由ros(MIKROTIK)安装教程:[11]端口映射