Linux

php安装oci8和pdo_oci扩展实现连接oracle数据库

我的梦境 提交于 2021-02-17 23:49:25
PHP一般跟MySQL数据库搭配使用,但最近遇到一个需求需要实现PHP连接Oracle,了解到PHP可以通过pdo_oci和oci8扩展来连接Oracle,这里将安装的过程记录下来。 安装环境:PHP7.2.18,Deepin15.10 首先,安装oci8和pdo_oci扩展依赖的Oracle client。 了解到需要连接的Oracle版本为11.2.0.4.0,在 这里 下载对应版本的Oracle client压缩包。 instantclient-basic-linux.x64-11.2.0.4.0.zip instantclient-sdk-linux.x64-11.2.0.4.0.zip 将上面的压缩包放入同一个目录中解压,这里放入/opt/oracle目录,然后解压,命令如下: cd /opt/ oracle unzip instantclient-basic-linux.x64- 11.2 . 0.4 . 0 . zip unzip instantclient-sdk-linux.x64- 11.2 . 0.4 . 0 . zip 将解压后的文件夹重命名 mv instantclient_11_2 instantclient 添加软连接 cd instantclient ln -s libclntsh.so. 11.1 libclntsh.so ln -s

Linux内核TCP/IP参数分析与调优

微笑、不失礼 提交于 2021-02-17 23:27:22
1.下图是数据通信的一个过程:TCP三次握手. TCP数据传输. TCP的四次断开 SYN:(同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立的时候有效。表示一个新的TCP连接请求。 ACK:(确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功连接所有数据。 FIN(结束标志,Finish)用来结束一个TCP会话,但对应端口仍处于开放状态,准备接受新数据。 下面分别解析11个阶段的Server端和Client端的TCP状态。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN. /* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2)、SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT. /*The socket isactively attempting toestablish a connection. 在发送连接请求后等待匹配的连接请求 */ 3)、SYN_RECV:服务端应发出ACK确认客户端的SYN,同时自己向客户端发送一个SYN.

web服务器反向代理 reverse proxy

萝らか妹 提交于 2021-02-17 23:06:53
代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给外部的请求连接的客户端,此时代理服务器对外就表现为一个服务器。 反向代理一般作用: 1:减轻源服务器负载 2:保障源服务器安全 3:对源服务器进行负载均衡(Load Balance)。 一般反向代理置于源服务器的前端,配备大容量的内存和高速磁盘,缓存客户的请求,所以反向代理又称为服务器加速(Server accelerate)。源服务器一般不再和客户直接通讯,当客户请求没有缓存的内容或者动态内容时,反向代理向源服务器发送请求,然后把回应转发给客 户,在这种情况下,反向代理服务器通常要为一个请求同时维护两个会话。和普通的代理不同,反向代理一般只代理一台或者有限的几台服务器,对于客户而言,反 向代理服务器对于他们就相当于源服务器,对于源服务器而言,反向代理服务器通常就是唯一的客户,因为一般客户不和源服务器直接通信。典型情况下,源服务器 对于客户或者客户对于源服务器,都是不可见的。 反向代理服务器位于本地WEB服务器和外部网络之间,如下图所示: 当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网

NAS是什么

ⅰ亾dé卋堺 提交于 2021-02-17 23:05:40
NAS是什么 简介 NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“ 网络存储器 ”。它是一种专用数据 存储服务器 。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。目前国际著名的NAS企业有Netapp、EMC、OUO等。 问题 搭建家庭 NAS 服务器有什么好方案? 在家里存一些视频什么的,最好也可以一直挂着BT下载 可以双硬盘确保备份 解答 这几天组好了NAS,把方案分享出来给各位下片狂魔,好东西放在网盘里面会变成这个屌样: 【导航】 第一层 需求分析 第二层 硬件方案 第三层 软件玩法 (手机看片,远程下载,远程开机,远程桌面,虚拟机服务器) 第四层 硬件选购 第五层 装机清单(考虑到一些没装过机害怕买错or不关心配置只想要NAS的同学,加一节) 第六层 家庭组网 第一层 需求分析 ———————————————————————————————————————— 【需求】 1、盘位多,8-10盘位。 2、静音。 3、便宜。 4、省电。 5、高清播放。 6、可玩性高,支持虚拟化VT-x。 7、可扩展性强,PCIe,USB3.0。 【为什么盘位要多?】 -- PC普及这么多年了

Remote debugging C++ application with Eclipse GUI

不羁岁月 提交于 2021-02-17 22:52:15
问题 I followed the steps in this link and I manage to debug a binary which resides in linux host from my windows machine from command prompt. I have gdbserver in linux and I installed gdb with the help of mingw in windows. As I told I can prompt "target remote x.x.x.x:10000 test" to command in windows and debug my test application. My problem is I can't do the same with eclipse gui, it seems to me it has tones of buttons, options but they make no sense to me. I am choosing debug_configurations--

「Selenium」- Can not connect to the Service /path/to/chromedriver @20210217

爷,独闯天下 提交于 2021-02-17 22:35:59
问题描述 # python3.7 /tmp/demo.py Traceback (most recent call last): File "/tmp/demo.py", line 4, in <module> driver = webdriver.Chrome('/srv/sharing/packages/chromedriver_linux64/chromedriver') # Optional argument, if not specified will search path. File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__ self.service.start() File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 104, in start raise WebDriverException("Can not connect to the Service %s" % self.path) selenium.common.exceptions.WebDriverException:

Docker容器技术

半城伤御伤魂 提交于 2021-02-17 22:17:18
Docker是什么    Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup、namespace、以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面   的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离进程,因此也称其为容器。   Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。 Docker技术与虚拟机技术   1、传统虚拟机技术      传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。   2、Docker技术      容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。   3、Docker优势 更高效的利用系统资源(占用内存一般为MB级别,单机上支持上千个容器) 更快速的启动时间(秒级启动) 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和扩展  Docker基本概念   Docker包括三个基本概念:  镜像(Image)  容器(Container)  仓库(Repository) 来源: oschina 链接: https://my.oschina.net/u

How to configure 'less' to show formatted markdown files?

試著忘記壹切 提交于 2021-02-17 21:38:44
问题 I would like to have less display *.md markdown files with some formatting -- like I know less can, for manpages, etc. I am running Ubuntu 12.04. I am as far as putting a user defined filter into .lessfilter : #!/bin/sh case "$1" in *.md) fn=/tmp/$1.$$.html markdown "$1" | html2txt > $fn ### LOSES FORMATTING cat $fn ### TO STDOUT??? ;; *) # We don't handle this format exit 1 esac # No further processing by lesspipe necessary exit 0 So, the main questions are: How can I pass some basic

How to configure 'less' to show formatted markdown files?

廉价感情. 提交于 2021-02-17 21:37:46
问题 I would like to have less display *.md markdown files with some formatting -- like I know less can, for manpages, etc. I am running Ubuntu 12.04. I am as far as putting a user defined filter into .lessfilter : #!/bin/sh case "$1" in *.md) fn=/tmp/$1.$$.html markdown "$1" | html2txt > $fn ### LOSES FORMATTING cat $fn ### TO STDOUT??? ;; *) # We don't handle this format exit 1 esac # No further processing by lesspipe necessary exit 0 So, the main questions are: How can I pass some basic

Set docker image username at container creation time?

半世苍凉 提交于 2021-02-17 21:25:08
问题 I have an OpenSuse 42.3 docker image that I've configured to run a code. The image has a single user(other than root) called "myuser" that I create during the initial Image generation via the Dockerfile. I have three script files that generate a container from the image based on what operating system a user is on. Question : Can the username "myuser" in the container be set to the username of the user that executes the container generation script? My goal is to let a user pop into the