1.1. Apache和php的安装配置
Apache和php可以使用解压版、安装版、套件版均可。
以下以解压版为例:
1、解压版无需安装,解压后放到任意目录下即可。
2、配置apache对php的支持,配置过程,自行参见网络。
3、demo测试使用的软件版本为:apache2.2.6、php5.3.5、javabridge5.4.4;软件版本可自行选择,但要保证能相互兼容支持。
1.2. Javabridge的配置
1、确认配置好php 与 apache 环境后,配置javabridge,使php支持java调用。
即将JavaBridge的jar包和对应的java目录放入任意目录下。
2、在php的项目中引入java目录的Java.inc(包含Java.inc与JavaProxy.php),如: require_once ( "../java/Java.inc" );
注意引入的路径问题,即../java/Java.inc部分;参考demo的secUtil.php页面引入方式。
3、将php调用的jar包放入到系统所使用的jre的lib下的ext下,如C:\Java\jdk1.6.0_20\jre\lib\ext
4、启动JavaBridge即可。
Javabridge启动有三种方法:
(1)、直接双击启动jar包。
(2)、可以cmd指令运行start java -jar JavaBridge.jar SERVLET_LOCAL:8080(在ext目录下)
(3)、可以使用批处理运行第二种方法(批处理与jar包同一目录)
1.3. 运行phpDemo
1、验证javabridge是否正常,可通过调用java api测试,如:test.php
require_once("java/Java.inc");
header("content-type:text/html; charset=utf-8");
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');
$s = new Java("java.lang.String", "php-java-bridge config...
");
echo $s;
// demonstrate property access
print 'Java version='.$system->getProperty('java.version').'
';
print 'Java vendor=' .$system->getProperty('java.vendor').'
';
print 'OS='.$system->getProperty('os.name').' '.
$system->getProperty('os.version').' on '.
$system->getProperty('os.arch').'
';
// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new Java('java.util.Date'));
?>
注:注意修改里面的引入路径。
2、如果javabridge,启动apache和javabridge;访问phpDemo的index.php即可。
注意:
1、如果访问报错NOTICE修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
2、请保持JavaBridge与Java.inc的版本的一致。
3、调用java的过程如有错误,会通过javabridge窗口和页面显示出来,如调用的方法名不存在。
2.1. Apache安装
2.1.1. 安装版本
httpd-2.2.29.tar.gz
2.1.2. 安装步骤
tar ?zxvf httpd-2.2.29.tar.gz
./configure
make
make install
2.1.3. 启动apache
安装成功后启动apache:/usr/local/apache2/bin/apachectl start
查看是否启动成功:ps -ef |grep httpd 执行后,出现如下即启动成功。
2.1.4. Apache FAQ
注意:
1、./configure 时会出现如下提示(未安装gcc编译器时提示):
configure: error: in `/usr/local/tongSoftware/httpd-2.2.29/srclib/apr':
configure: error: no acceptable C compiler found in $PATHSee `config.log' for more detailsconfigure failed for srclib/apr
即系统提示未安装gcc编译器,则安装该编译器:yum -y install gcc 即可。
2、make和make install 到出现如下即安装成功:
......
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
make[1]: Leaving directory `/root/aphp/httpd-2.2.29'
[root@device httpd-2.2.29]#
找到安装路径地方,启动apache即可。
3、如果安装的是高版本或部分其他版本的apache,如httpd-2.4.12.tar.gz,编译时会出现如下错误提示:
........
checking for APR... no
configure: error: APR not found . Please read the documentation.
安装解决方案如下:
解决方案如下:
#./configure --prefix……检查编辑环境时出现:
checking for APR... no
configure: error: APR not found . Please read the documentation.
可以用./configure ?help | grep apr 查看帮助。
--with-included-apr Use bundled copies of APR/APR-Util
--with-apr=PATH prefix for installed APR or the full path to apr-config
--with-apr-util=PATH prefix for installed APU or the full path to
安装APR(Apache Portable Runtime )
[root@localhost ~]# cd /tmp/52lamp/ //源码存放位置
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
再次检查编译环境出现
checking for APR-util... no
configure: error: APR-util not found . Please read the documentation.
[root@localhost httpd-2.2.16]# ./configure ?help | grep apr-util
--with-apr-util=PATH prefix for installed APU or the full path to
[root@localhost 52lamp]# tar -zxvf apr-util-1.3.9.tar.gz
[root@localhost 52lamp]# cd apr-util-1.3.9
[root@localhost apr-util-1.3.9]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.3.9]# make
[root@localhost apr-util-1.3.9]# make install
./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util后出现
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
[root@localhost httpd-2.2.16]# ./configure ?help | grep pcre
--with-pcre=PATH Use external PCRE library
[root@localhost 52lamp]# unzip -o pcre-8.10.zip
[root@localhost 52lamp]# cd pcre-8.10
[root@localhost cd pcre-8.10]# ./configure --prefix=/usr/local/pcre
[root@localhost cd pcre-8.10]# make
[root@localhost cd pcre-8.10]# make install
继续安装Apache/httpd,./configure 时加上参数 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre,这个问题就解决了。
注:httpd-2.4.12.tar.gz的安装此过程未亲测。
2.2. 安装php
2.2.1. 安装版本
php-5.4.40.tar.gz
2.2.2. 安装步骤
tar ?zxvf php-5.4.40.tar.gz
./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache2/bin/apxs (注意此处编译,一定要将apache模块编译进去,及--with-apxs2=/usr/local/apache2/bin/apxs)
make
make install
2.2.3. Php FAQ
注意:
1、如果没有安装libxml2-python和libxml2-devel包,编译时会出现如下错误:
configure: error: xml2-config not found. Please check your libxml2 installation
J解决方式:安装libxml2-python和libxml2-devel包即可:yum -y install libxml2-python libxml2-devel
2、make时出现如下错误
1.Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/local/apache/bin/apxs follows:./configure: line 6669: /usr/local/apache/bin/apxs: Permission denied
解决方式:1、先安装perl包;2、apxs权限问题,即添加可执行权限;
2.2.4. 配置php
创建配置文件到指定配置文件目录中
[root@localhost php-5.4.40]# cp php.ini-dist /usr/local/php/lib/php.ini
2.2.5. 添加Apache对PHP支持
[root@localhost php-5.4.40]# vi /usr/local/php/lib/php.ini
找到AddType application/x-gzip .gz .tgz,在此下面增加一行
AddType application/x-httpd-php .php .php3
重启apache即可。
写index.php文件,测试支持是否正常。
phpinfo();
?>
2.3. 安装配置javabridge
2.3.1. 免安装方式配置javabridge
1、将javabridge.jar放置到任何位置,一般放在php文件夹内,如/usr/local/php/etc下
2、将与此javabridge.ja r配套的java文件夹放到文件任何位置,一般放在php文件夹内,如/usr/local/php/etc下,然后注意引用的路径问题。
如:require_once ( "/usr/local/php/etc/java/Java.inc" );
3、将所需jar包放到jre下(即/usr/java/jdk1.6.0_20/jre/lib/ext),然后项目引用
//linux
java_require('/usr/java/jdk1.6.0_20/jre/lib/ext/SVSClient.jar');
java_require('/usr/java/jdk1.6.0_20/jre/lib/ext/BJCA_LOG.jar');
4、启动javabridge
java -jar JavaBridge.jar SERVLET_LOCAL:8080 此命令启动不能关闭窗口,不会后台运行
java -jar JavaBridge.jar SERVLET_LOCAL:8080 & 此命令启动能关闭窗口,后台运行(有时候需要先ctrl+c中断再关闭窗口)
5、查看是否启动成功 ps -ef |grep 8080,启动成功如图所示:
6、验证javabridge是否正常,可通过调用java api测试,如:test.php
require_once("java/Java.inc");
header("content-type:text/html; charset=utf-8");
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');
$s = new Java("java.lang.String", "php-java-bridge config...
");
echo $s;
// demonstrate property access
print 'Java version='.$system->getProperty('java.version').'
';
print 'Java vendor=' .$system->getProperty('java.vendor').'
';
print 'OS='.$system->getProperty('os.name').' '.
$system->getProperty('os.version').' on '.
$system->getProperty('os.arch').'
';
// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new Java('java.util.Date'));
?>
注:注意修改里面的引入路径。

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

Fibers在PHP8.1中引入,提升了并发处理能力。1)Fibers是一种轻量级的并发模型,类似于协程。2)它们允许开发者手动控制任务的执行流,适合处理I/O密集型任务。3)使用Fibers可以编写更高效、响应性更强的代码。

PHP社区提供了丰富的资源和支持,帮助开发者成长。1)资源包括官方文档、教程、博客和开源项目如Laravel和Symfony。2)支持可以通过StackOverflow、Reddit和Slack频道获得。3)开发动态可以通过关注RFC了解。4)融入社区可以通过积极参与、贡献代码和学习分享来实现。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版