【ubuntu14.04】搭建PHP5+Apache2+Oracle环境

Ansible在Ubuntu 14.04上部署PHP应用的实战指南 PHP应用部署是运维与开发协同的基础技术场景,其核心在于环境适配、自动化交付与安全加固。当目标系统受限于老旧发行版(如Ubuntu 14.04)时,传统容器化或新版本栈方案失效,此时Ansible凭借无代理、SSH原生支持、Python轻依赖等特性,成为遗产系统持续交付的关键工具。它绕过Docker内核限制,兼容mod_php与Apache经典架构,并可通过精准模块控制编译参数、权限策略与MySQL碎片优化。本文聚焦PHP与Ansible在冻结型生产环境中的深度协同,覆盖OPcache调优、图片上传权限治理 阅读详情

RT

最近开发的一个项目,数据库使用oracle。oracle本身支持Red Hat,对ubuntu的支持并不好,如果ubuntu需要安装oracle,系统本身需要做伪装等很多工作,所以我只打算使用远程服务器上的oracle数据库。

本地环境:

Linux xxx-ThinkPad-T400 3.13.0-46-generic #75-Ubuntu SMP Tue Feb 10 15:24:04 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

PHP版本:5.5.9-1ubuntu4.6


PHP安装时不会自带oracle数据库管理扩展,我们需要自行下载并且编译安装和配置。

这里我主要参考以下这篇文章:

https://help.ubuntu.com/community/PHPOracle
http://blog.sina.com.cn/s/blog_8f4fbe030100y5q3.html


网上有很多的相关教程,主要分为两类,但是主要思路都如下:

1.从oracle官网下载instantclient basic和instantclient sdk安装包;

2.解压,创建库文件软链接;

3.下载并编译php oci8.so

4.配置PHP

差别在于,有的是直接下载php oci8.so文件,解压同时手动进行编译,或者如我上面参考的教程所教,直接使用pear命令下载并自动编译。


重点在于,在按照教程操作的过程中会出现诸多意料不到的问题,接下来我先按照我成功配置的过程写出教程,然后再解释我遇到的问题以及解决方法:

1.解决依赖问题:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5-dev build-essential php-pear libaio1
sudo apt-get install unzip make


2.从oracle官网下载Instant Client

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

根据自己的系统进入相应的列表,分别下载对应的instantclient-basic-xxx.zip和 instantclient-sdk-xxx.zip。

3.解压,创建库文件软链接;

这一步的处理非常重要,如果处理不当,将会导致下面的编译步骤无法通过。

   3.1解压文件,并将两个文件夹去掉版本号。也即instantclient和sdk,然后,将sdk文件夹整个移动到instantclient目录下,和其他的库文件并存。网上的其他教程大多没有说明这两个文件夹的存放关系,或者是直接将其放在同一级目录下,导致后面编译过程中总是提示无法找到sdk。这里我们一定要把sdk文件夹移动到instantclient目录下。不能参照网上其他的教程。

   3.2创建库文件软链接,进入instantclient目录下,在该目录下创建文件软链接(其他教程多不说明链接文件的存放位置)。注意,这里不可直接通过右键来生成库文件的链接:

ln -s libnnz12(version number).so libnnz.so
如上,去掉原来库文件中的版本信息,生成没有版本信息的扩展库文件链接;

同时,我们需要生成

ln -s libclntsh.so.12.1 libclntsh.so
ln –s libocci.so.12.1 libocci.so

       完成了这一步之后,我们就可以将oracle的instantclient文件夹整个移动到我们预先安排好的位置,推荐的位置是:

/usr/local/lib/

整个目录复制完成后,对该目录进行提权:

sudo chmod 777 -R /usr/local/lib/instantclient/
然后配置我们接下来可能需要的一些系统常量,:

sudo vim /etc/environment
在文件的末尾加上如下常量:

# Oracle Instant Client
LD_LIBRARY_PATH="/usr/local/lib/instantclient"
TNS_ADMIN="/usr/local/lib/instantclient"
ORACLE_BASE="/usr/local/lib/instantclient"
ORACLE_HOME=$ORACLE_BASE

4.下载并编译oci8.so
sudo pecl install oci8

然后接下来会自动下载oci8的源码包并自动进行编译,然后会在过程中提示你输入instantclient的相关路径变量:输入

instantclient,/usr/local/lib/instantclient

然后系统编译完成后会提示:

Build process completed successfully
Installing '/usr/lib/php5/20121212/oci8.so'
install ok: channel://pecl.php.net/oci8-2.0.8
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini

如果没有类似的提示,那么恭喜你,一定是这个过程出错了。我们先假设到此为止一直都是顺利的。到现在我们成功地编译了oci8.so这个扩展。接下来就是将其分配到使用环境中去了。

5.配置PHP

我们可以在php.ini中直接开启extension,但是现在PHP不推荐如此操作,所以我们这样子操作:由于我的服务器是ubuntu+apache,所以操作方法如下:

在/etc/php5/apache2/conf.d中新建oci8.ini这个文件,apache2/conf.d这个目录下,会发现所有的插件前面都有数字,这里我们不用管,直接忽略:

sudo vim /etc/php5/apache2/conf.d/oci8.ini
然后在文件中添加开启oci8.so这个语句,
extension=oci8.so
然后重启apache

sudo /etc/init.d/apache2 restart

重启完成后,在服务器根目录里新建一个test.php文件,并写入:

<?php phpinfo() ?>

查看在PHP页面中是否有出现类似下面的内容:

OCI8

OCI8 Support enabled
OCI8 DTrace Support disabled
OCI8 Version 2.0.8
Revision $Id: f04114d4d67cffea4cdc2ed3b7f0229c2caa5016 $
Oracle Run-time Client Library Version 12.1.0.2.0
Oracle Compile-time Instant Client Version 12.1

如果打印出了如下信息,则表示我们的配置到此已经成功。


下面是debug环节:

1.编译过程出现:

  configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
  通过如下文章进行解决:

 http://blog.slogra.com/post-421.html

2.编译过程出现库文件无法找到:
  configure: error: Oracle Instant Client libraries libnnz.so and libclntsh.so not found
  检查你在创建软链接的时候是否是通过命令行创建的

3.checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found
 你的sdk文件夹是否位于instantclient目录下。

4.ERROR: `/tmp/pear/temp/oci8/configure --with-oci8=instantclient,/usr/local/lib/instantclient' failed
  --with-oci8后面的所跟的路径是否正确,应该是我们最后复制到的目录下。


如果遇到其他的问题,欢迎留下评论一起交流。


Ubuntu 18.04 + LEMP 部署 WordPress 实战指南:稳态生产环境搭建 WordPress 是最主流的开源内容管理系统,其运行依赖稳定、可预测的底层 Web 环境。LEMP 架构(Linux + Nginx + MySQL/MariaDB + PHP)凭借事件驱动模型与进程分离设计,在高并发场景下显著优于传统 LAMP,尤其适合资源受限的 VPS 或私有服务器。Ubuntu 18.04 作为长期支持(LTS)版本,提供经过充分验证的 PHP 7.2、Nginx 1.14 和 MySQL 5.7 组合,兼顾安全性、兼容性与运维确定性——这正是解决‘wordpress后台很慢’‘5 阅读详情

相关推荐

Ubuntu 18.04 LEMP 环境搭建 WordPress 完整指南

LEMP(Linux + Nginx + MySQL + PHP)是面向高并发、低资源消耗场景的现代 Web 服务架构,其核心在于 Nginx 的事件驱动模型与 PHP-FPM 的进程管理解耦,相比传统 LAMP 具备更优的性能与稳定性。在 Ubuntu 18.04 这一长期稳定且广泛部署的 LTS 版本上构建 LEMP,需精准匹配 PHP 7.2、MySQL 5.7 和 nginx 1.14 的组件兼容性,尤其关注 socket 路径、字符集 utf8mb4、DB_HOST 连接方式及防火墙策略等关键细节

weixin_33724046的博客 383

Ubuntu18.04下使用PHP7.2的连接Oracle11数据库

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。

ma_jian_ping的专栏 360

Ubuntu 12.04 VPS上部署Concrete5的LAMP环境精准配置指南

LAMP架构是PHP应用运行的基础技术栈,指Linux操作系统、Apache Web服务器、MySQL数据库与PHP编程语言的协同组合。其核心原理在于各组件通过标准化协议(HTTP、SQL、CGI/模块化接口)分层协作,Apache负责请求路由与静态资源服务,PHP作为嵌入式脚本引擎处理动态逻辑,MySQL提供持久化事务支持。该架构的技术价值在于开源可控、部署成熟、调试直观,特别适合资源受限但需自主运维的VPS场景。典型应用场景包括企业官网、小型社区站及定制化CMS系统搭建——如Concrete5这类强调所

weixin_34194359的博客 412

ubuntu安装php oracle扩展,远程连接oracle

上传到服务器 放到www/server/oracle-cli/php_oci 解压。我这里解压的地址是 /www/server/oracle-cli。make install后会生成一个oci8.so文件。使用phpize进行生成相应的configure文件。根据自己的php版本选择相应的oci扩展。修改php配置文件启用pdo_oci扩展。我们需要找到他 并在配置文件中 设置他。把这两个安装包上传到服务器上,解压。这个文件就是经过编译后的oci扩展。安装 oracle 依赖。

刘浩宇的博客 616

Ubuntu 18.04 多版本 PHP 共存实战:PHP-FPM 池隔离与 Apache 路由

PHP 多版本共存是混合技术栈运维的核心能力,其本质是通过进程隔离与协议解耦实现运行时环境分离。PHP-FPM 作为独立的 FastCGI 进程管理器,支持基于 Unix Socket 的多实例并行运行,每个实例绑定专属二进制、配置及扩展集,天然适配版本混布场景。该架构显著提升系统安全性与稳定性,避免 mod_php 的全局污染风险,并为遗留系统(如 CodeIgniter 2.x)与现代框架(如 Laravel 10)提供零冲突共存基础。典型应用场景包括电商后台多项目托管、WordPress 插件兼容性保

cuizhu0832的博客 454

Ubuntu php oracle

Ubuntu 中php oracle模块安装

Ubuntu+php7.2 and window php7 安装oracle 插件

Ubuntu+php7.2安装oracle 插件 安装Oracle Client 由于要编译OCI扩展,我们需要Oracle客户端,这里我们下载Oracle Instant Client,选择Instant Client for Linux x86-64 basic版本下载。 另外要编译OCI必须还需要instant client SDK包,下载解压之后合并到Base。 给出的网页最后...

sunhaijingxiaohai的专栏 1140

C语言实现定时任务

例:设置定时任务,每周周X的X时X分自动重启系统 思路:将设置好的重启时间保存到本地配置文件中,设置定时器定时一分钟,每一分钟信号触发一次事件,事件函数中获取配置文件信息与当前系统时间信息,将两个时间进行时间差计算,符合条件的自动重启系统. //创建定时器函数(通过信号触发事件timer_task函数启动) int create_timer() { struct sigevent evp; int ret = 0; memset(&evp, 0, sizeof(stru

佳佳鸽的博客 5038

ubuntu php oracle,Oracle数据库之php在ubuntu上安装oracle的扩展

本文主要向大家介绍了Oracle数据库之php在ubuntu上安装oracle的扩展,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。1要安装oracle的临时客户端,到http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html上下载所需要版本的basic,level,sqlplus的rpm文件...

weixin_28676397的博客 211

ANSYS WB 网格划分详解与技巧

本文详细介绍了网格操作中的关键设置与功能选项。主要内容包括:1)网格显示风格与物理偏好设置;2)单元阶次选择对精度的影响;3)单元尺寸控制方法;4)尺寸调整功能,重点讲解了自适应尺寸调整、增长率控制和捕获曲率等选项;5)网格质量评估标准;6)四种主要划分方法(四面体、六面体主导、扫掠、多区域)的特点与适用场景;7)三种尺寸调整方式(直接调整、边缘尺寸调整、影响范围调整)的具体应用。文章强调在实际建模中需要根据模型特点合理选择网格参数,平衡计算精度与效率。

2403_87939837的博客 1701

STM32驱动GP2Y1010AU0F红外PM2.5传感器:从采样时序到浓度标定

在嵌入式环境监测项目中,模拟传感器输出信号的准确采集是系统可靠性的基石。许多工程师在接触红外散射式粉尘传感器时,常因不了解其特殊的脉冲驱动与采样保持机制,导致ADC读数异常。红外散射原理通过检测颗粒物散射光强来估算粉尘浓度,其输出信号并非稳定直流,而是与LED脉冲同步的短时窗口电压。理解这一时序特征,并掌握在STM32平台上通过定时器与ADC协同完成微秒级精准采样的方法,是获取有效数据的关键。该技术广泛应用于室内空气质量检测、空气净化器控制及DIY环境监测节点等场景。本文以GP2Y1010AU0F为例,详细

weixin_29159127的博客 284

ubuntu php oracle,Ubuntu上搭建PHP+Oracle客户端

简单说说Ubuntu上搭建PHP+Oracle客户端,仅供参考。[环境]No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 10.04.3 LTSRelease: 10.04Codename: lucid[步骤]更新#sudo apt-get update; sudo apt-...

weixin_42173218的博客 222

GOM Correlate拉伸试验后处理操作

本文描述了使用GOM Software 2022对拉伸试样进行后处理的操作,包括设置检测点、引伸计、输出应变数据到表格、输出报告为视频等

qq_45008924的博客 4667

ubuntu 14.04 apache php,Ubuntu 14.04搭建PHP5+Apache2+Oracle环境

最近开发的一个项目,数据库使用Oracle。Oracle本身支持Red Hat,对Ubuntu的支持并不好,如果Ubuntu需要安装Oracle,系统本身需要做伪装等很多工作,所以我只打算使用远程服务器上的Oracle数据库。本地环境:Linux xxx-ThinkPad-T400 3.13.0-46-generic #75-Ubuntu SMP Tue Feb 10 15:24:04 UTC 2...

weixin_35924734的博客 252

PlutoSDR驱动安装避坑指南:从设备管理器异常到MATLAB 2023b完美识别

本文是一份详细的PlutoSDR驱动安装与MATLAB 2023b集成排错指南。针对Windows系统下常见的设备管理器异常、驱动兼容性问题,提供了从旧驱动清理、手动指定驱动文件到USB连接稳定性排查的完整解决方案。重点阐述了如何通过离线安装硬件支持包,并利用MATLAB命令进行连接测试与射频信号验证,最终实现设备的完美识别与稳定调用。

weixin_29159441的博客 429

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1406

Ubuntu 14.04 LAMP环境搭建:Linux+Apache+MySQL+PHP实战指南

LAMP 是 Linux、Apache、MySQL 和 PHP 四个开源组件构成的经典 Web 开发栈,代表了动态网站最基础且稳定的运行范式。其核心原理在于操作系统层(Linux)提供进程与权限管理,Web 服务器(Apache)处理 HTTP 协议并转发请求,脚本引擎(PHP)执行服务端逻辑,数据库(MySQL)持久化结构化数据——四者通过标准接口(如 CGI、SAPI、MySQLi 扩展)紧密协同。这种分层架构具备高可维护性、强社区支持和成熟安全实践,广泛应用于教学实验、遗留系统迁移及轻量级生产环境。尤

weixin_30443731的博客 400

LLCC68芯片系统架构与LoRa驱动开发核心解析

LoRa射频收发器是低功耗广域物联网(LPWAN)的关键组件,其本质是集成了调制解调器、协议引擎、数据缓冲区与电源管理的专用SoC。理解其工作模式状态机(Sleep/Standby/TX/RX)与SPI主机接口时序规范,是实现稳定通信的基础。LLCC68通过寄存器映射与命令集双接口抽象硬件控制,支持LoRa扩频调制与FSK兼容模式,具备高链路预算(157 dB)和DC-DC/LDO动态电源切换能力。典型应用场景包括远距离传感器节点、智能表计与工业无线监测系统。本文深入剖析LLCC68的信号链路径、中断机制与

weixin_29859471的博客 284

Ubuntu安装Oracle时解压报错,Ubuntu 14.04搭建PHP5+Apache2+Oracle及Oracle管理软件SQL Developer...

Ubuntu 14.04搭建PHP5+Apache2+Oracle环境最近开发的一个项目,数据库使用Oracle。Oracle本身支持Red Hat,对Ubuntu的支持并不好,如果Ubuntu需要安装Oracle,系统本身需要做伪装等很多工作,所以我只打算使用远程服务器上的Oracle数据库。本地环境:Linux xxx-ThinkPad-T400 3.13.0-46-generic #75-U...

weixin_29774679的博客 703

改进yolov8|BackBone改进:PWConv、FasterNeXt替换yolov8主干网络

各位哥哥姐姐弟弟妹妹大家好,我是干饭王刘姐,主业干饭,主业2.0计算机研究生在读。和我一起来改进yolov8变身计算机大牛吧!本文中的论文笔记都是刘姐亲自整理,原创整理哦~

weixin_44379985的博客 752

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ubuntu16.04 配置php生产环境

ubuntu16.04 配置php生产环境 安装Apache2与配置 sudo apt-get update sudo apt-get install apache2 在浏览器中访问主机所对应的ip和端口。如果看到“it works”.第一搭建成功! 但是Apache2的默认监听端口为80.如果该端口被占用,则需要更滑Apache的监听端口,步骤如下: 更改apache2的监听端口 编辑/et...

zhaozhen的博客 2052

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Ubuntu 16.04下Java与PHP环境搭建与集成指南

在Web开发中,Java和PHP作为两种主流后端技术,常需在同一服务器环境中协同工作。环境搭建涉及软件源配置、版本管理、服务集成等关键技术环节,其中PPA源的使用能解决Ubuntu默认源版本老旧的问题。通过配置JAVA_HOME环境变量和PHP-FPM进程管理,可实现稳定的运行时环境。Nginx与Apache作为主流Web服务器,与PHP的集成方案各有特点,而通过exec()函数或PHP-Java Bridge可实现两种语言的互操作。容器化部署方案如Docker Compose能进一步提升环境一致性和部署效

weixin_33882452的博客 381

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Ubuntu 16.04下Java与PHP开发环境配置指南

在Linux系统开发中,环境配置是基础且关键的环节。Java和PHP作为主流开发语言,其运行环境搭建涉及JDK版本选择、环境变量配置、Web服务器集成等核心技术点。通过apt-get等包管理工具可以快速部署基础环境,但企业级应用往往需要更精细的配置方案。本文以Ubuntu 16.04 LTS为例,详细解析OpenJDK与Oracle JDK的安装差异,PHP 7.4与Nginx/Apache的集成方法,以及开发中常见的版本冲突、CPU资源占用等问题的解决方案。这些配置经验经过生产环境验证,特别适合需要稳定运

weixin_30394981的博客 311

Ubunt php连接oracle,uBuntu PHP Oracle扩展 OCI8安装

0. 环境说明uBuntu 14.04Nginx 1.4.6Php 5.5.91. 准备工作这里因为使用了RPM包,所以预先安装RPM:root@ubuntu:/opt# apt-get install rpm准备好相应的安装包文件,根据文件名称自行到官网下载对应版本:root@ubuntu:/opt# wget http://xxxxxxxx/php-oci8.tar.gz ....

weixin_31940053的博客 262

php pdo这个组件,Ubuntu下PHP5.5安装PDO_OCI组件

先说基本的配置Ubuntu 14.04Apache 2.4.7PHP 5.5.9开始安装安装必要工具sudo apt-get update; sudo apt-get install php5-dev unzip下载 oracle instant client下载地址:oracle instant client 需要下载basic和sdk两个包配置oracle instant client1). ...

weixin_30476025的博客 185
上一篇: 【ThinkPHP学习】SAE的thinkphp的memcache开启
下一篇: 【ubuntu14.04】安装oracle数据库管理软件sqldeveloper记录
GiantChan
博客等级 码龄16年 76粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值