




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LinuxLinux环境下利用环境下利用 apache+oracle+php+php-java-bridgeapache+oracle+php+php-java-bridge 的开发编程培训资料的开发编程培训资料 撰写人:余航撰写人:余航 撰写时间:撰写时间:20013-10-1220013-10-12 培训纲要培训纲要 uuApacheApache篇:篇: 1. Linux1. Linux下下ApacheApache的启动和停止的启动和停止 2. Linux2. Linux下启动下启动ApacheApache时提示的常见错误时提示的常见错误 uuPHPPHP篇:篇: 1. PHP1. PHP的基本用法的基本用法 2. PHP2. PHP如何支持如何支持JavaJava uuJavaJava通过通过JDBCJDBC连接连接OracleOracle篇:篇: 1. 1.准备工作准备工作 2. 2.工作原理工作原理 3 3. .代码举例代码举例 uu总结总结 LinuxLinux下下apacheapache的启动的启动 1. 1.手动启动手动启动ApacheApache服务器(使用服务器(使用apachectlapachectl程序控制程序控制 ) /usr/local/apache/bin/apachectl start/usr/local/apache/bin/apachectl start /usr/local/apache/bin/apachectl restart/usr/local/apache/bin/apachectl restart 2. 2.自动启动自动启动ApacheApache服务器服务器 cp /usr/local/apache/bin/apachectl /etc/init.dcp /usr/local/apache/bin/apachectl /etc/init.d ln -s /etc/init.d/apachectl /etc/rc3.d/S90httpdln -s /etc/init.d/apachectl /etc/rc3.d/S90httpd ln -s /etc/init.d/apachectl /etc/rc0.d/K90httpdln -s /etc/init.d/apachectl /etc/rc0.d/K90httpd ln -s /etc/init.d/apachectl /etc/rc6.d/K90httpdln -s /etc/init.d/apachectl /etc/rc6.d/K90httpd 以后只要是使用启动级别以后只要是使用启动级别3 3,那么,那么LinuxLinux启动时就会启动时就会 自动启动自动启动httpd,httpd,最后两个最后两个lnln的作用是在关机和重启是关的作用是在关机和重启是关 闭闭httpdhttpd程序。程序。 LinuxLinux下下apacheapache的关闭的关闭 手动杀死所有的手动杀死所有的httpdhttpd进程进程( (效率低,容易出错效率低,容易出错 ) #ps ax |grep httpd#ps ax |grep httpd # kill -9 5635 # kill -9 5651# kill -9 5635 # kill -9 5651 # # kill -9 kill -9 5637 # kill -9 56525637 # kill -9 5652 # # kill -9 kill -9 5649 # kill -9 56535649 # kill -9 5653 # kill -9 # kill -9 56505650 LinuxLinux下下apacheapache的关闭的关闭 使用使用apachectlapachectl程序控制程序控制ApacheApache / /usr/local/apache/bin/apachectl usr/local/apache/bin/apachectl stopstop LinuxLinux下启动下启动ApacheApache时提示的常见错误时提示的常见错误 1 1. .启动启动ApacheApache提示提示: Address already in useAddress already in use 原因是原因是8080号端口已经被使用。可以在号端口已经被使用。可以在httpd.confhttpd.conf文件中重新只一文件中重新只一 个端口号或是个端口号或是IPIP地址地址 解决解决方案:方案: 2. 2.启动启动ApacheApache后通过浏览器访问提示:后通过浏览器访问提示: You dont have permission to access / on this server.You dont have permission to access / on this server. 原因原因 使用了使用了不不正确的目录权限,正确的目录权限,ApacheApache不仅需要所在不仅需要所在SeverRoot SeverRoot 目录的权限,还需要上一层目录的权限。目录的权限,还需要上一层目录的权限。 解决方案解决方案(1 1)关闭关闭SElinuxSElinux,修改修改/etc/selinux/config/etc/selinux/config将将SELIUXSELIUX改改 为为=disable,=disable, (2 2)chowm chown daemon /srv/www/httpd(Apache chowm chown daemon /srv/www/httpd(Apache 安装目录的安装目录的 父目录)父目录) LinuxLinux下启动下启动ApacheApache时提示的常见错误时提示的常见错误 (3 3) # # # Possible values for the Options directive are “None“, “All“,# Possible values for the Options directive are “None“, “All“, # or any combination of:# or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI ExecCGI MultiViewsMultiViews (中间省略)(中间省略) # # Controls who can get stuff from this server.Controls who can get stuff from this server. # # Order allow,deny Order allow,deny Allow from Allow from allall(将(将D Deny from all eny from all 改成改成Allow from all)Allow from all) PHPPHP的基本用法的基本用法 一个简单的PHP程序 n1: n2: n3: n4: First program n5: n6: n7: n10: n11: 注:写好的php文件保存到/usr/local/apache/htdocs的 文件夹下 PHPPHP的基本用法的基本用法 n、利用分界符“” n这是PHP最为普通的嵌入方式强烈建议使用此方式,这种写法可以为你 的程序在跨平台使用时减少不必要的麻烦! n、利用分界符“” n这种方式是简写方式,必需在php.ini文件中将shor_open_tag设置为On (PHP5中默认设置为On),否则编译器将不予解析。 n3、利用分界符“”和 “” n这是类似于JavaScript和VBScript风格的嵌入方式 n4、利用分界符“” n这是一种具有ASP风格的嵌入方式,必须在“php.ini”文件中设置 asp_tags为On,否则编译器将不予解析。 n强烈建议少用这种方法,因当 PHP 与 ASP 源代码混在一起时就麻烦喽 ! PHPPHP的基本用法的基本用法 n在 PHP 的程序中,加入注释的方法很灵活。可以使用 C 语言、C+ 语言或者是 UNIX 的 Shell 语言的注释方 式,而且也可以混合使用。具体方法如下: n、“/” :这是从语法中借鉴来的,该符号只能注 释一行。 n、“/*”和“*/” :这是语言的注释符,符号之间的都将 被注释掉。 n、“#” :这是UNIX 的 Shell 语言风格的注释符,也只 能注释一行。 PHPPHP如何支持如何支持JavaJava 一个简单的PHP程序 testoracle(); /调用实例的方法 ? JavaJava通过通过JDBCJDBC连接连接OracleOracle的准备工作的准备工作 主要是加载主要是加载javajava连接连接oracleoracle数据库的架包数据库的架包classes12.jarclasses12.jar 方法:在方法:在/etc/profile /etc/profile 文件中添加下面黄色字体的这句话文件中添加下面黄色字体的这句话 #set java enviroment#set java enviroment export JAVA_HOME=/usr/java/jdk1.6.0_25export JAVA_HOME=/usr/java/jdk1.6.0_25 export PATH=/usr/java/jdk1.6.0_25/bin:$PATH:export PATH=/usr/java/jdk1.6.0_25/bin:$PATH: exportCLASSPATH=.:/usr/java/jdk1.6.0_25/lib/dt.jar:/usr/java/jdk1.6.0_25/libexportCLASSPATH=.:/usr/java/jdk1.6.0_25/lib/dt.jar:/usr/java/jdk1.6.0_25/lib /tools.jar:/usr/local/php/lib/php/extensions/no-debug-non-zts-/tools.jar:/usr/local/php/lib/php/extensions/no-debug-non-zts- 20050922/JavaBridge.jar20050922/JavaBridge.jar:/opt/oracle/product/10.2.0/jdbc/lib/classes:/opt/oracle/product/10.2.0/jdbc/lib/classes 12.jar12.jar:$CLASSPATH:$CLASSPATH #source profile#source profile 准备工作注意事项:准备工作注意事项: 1.classes12.jar1.classes12.jar包的路径一定要写对。包的路径一定要写对。 2.Jdk2.Jdk一定要确保安装正确。一定要确保安装正确。 3 3为了为了使使phpphp页面也能呈现出页面也能呈现出JavaJava连接连接OracleOracle的结果,必须修改的结果,必须修改PHP.iniPHP.ini文件文件 中中java.classpathjava.classpath的值的值 JavaJava通过通过JDBCJDBC连接连接OracleOracle的工作原理的工作原理 1.Java1.Java程序和程序和JDBCJDBC及数据库的关系及数据库的关系 Java应用程序 JDBC API JDBC 驱动程序管理器 JDBC/ODBC桥 ODBC驱动程序 JDBC驱动程序 数据库 数据库 Class.forName 结果集 JavaJava通过通过JDBCJDBC连接连接OracleOracle的工作原理的工作原理 1.JDBC1.JDBC连接过程连接过程 SQLSQL 连接语句 创创 建建 创创 建建 创创 建建 数据库数据库 Connection Statement ResultSet getconnectioncreateStatment executeQuery 加载驱动 JavaJava通过通过JDBCJDBC连接连接OracleOracle的代码举例的代码举例 1. 1.一个简单程序一个简单程序 import java.sql.import java.sql.* *; ; public class Testpublic class Test public String testoracle()public String testoracle() String sten =null;String sten =null; try try Class.forName(“oracle.jdbc.driver.OracleDriver“);Class.forName(“oracle.jdbc.driver.OracleDriver“); String url=“jdbc:oracle:thin:50:1521:oradb“;String url=“jdbc:oracle:thin:50:1521:oradb“; Connection conn = DriverManager.getConnection(url, “TEST“, “TEST“);Connection conn = DriverManager.getConnection(url, “TEST“, “TEST“); Statement stmt = conn.createStatement();Statement stmt = conn.createStatement(); String sql1=“select * from TEST“;String sql1=“select * from TEST“; ResultSet rs = stmt.executeQuery(sql1); ResultSet rs = stmt.executeQuery(sql1); while(rs.next() while(rs.next() JavaJava通过通过JDBCJDBC连接连接OracleOracle的代码举例的代码举例 1. 1.接上接上 while(rs.next()while(rs.next() sten=rs.getString(1);sten=rs.getString(1); catch (ClassNotFoundException e) catch (ClassNotFoundException e) e.printStackTrace();e.printStackTrace(); catch (SQLExceptio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工地水电安装合同
- 商业物业管理委托合同
- 乳胶漆粉刷施工合同协议书
- 高中数学新课标学案:第课时条件排列
- 门脸租户转让合同范本
- 和艺人的合同范本
- 汽车分期合同范本
- 库存打折销售合同范本
- 《五四爱国运动和中国共产党的成立》新民主主义革命的兴起课件-1
- 苏教版小学数学教材解析
- 医院食堂运营食堂餐饮服务投标方案(技术标)
- 岗位调动确认书
- 《职场解压与情绪》课件
- 《银行保险机构公司治理准则》解读
- 中外设计史复习题
- 全国高中青年数学教师优质课大赛一等奖《导数的概念》课件
- 肾上腺疾病诊治指南
- 学习解读2023年新制订的外国国家豁免法课件
- DB42-T 1969-2023 困境儿童家庭监护能力评估
- 沙漠之心(2009新疆中考记叙文阅读试题含答案)
- 药物靶标发现与筛选
评论
0/150
提交评论