金蝶php如何编译
php是一种脚本语言,不能先编译保存下来再执行,只在被调用时进行解释或编译。
PHP既是语言也是软件
php语言脚本依赖php软件解释
mysql
是一种数据库软件
apache
是一种web服务器软件
?
$a
=
"PHP
4"
;
$b
=
"功能强大"
;
echo
$a.$b;
?
PHP
4功能强大.
2. 如何运行PHP
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我们要在电脑上运运ASP文件 只要装IIS就可以。
哪要运行PHP文件呢。该怎么办!~
解析:
如何安装运行php
1. Unix/Windows: 我的php.ini 文件应该放在哪?
UNIX下默认它应该放在 /usr/local/lib 目录下。 这是它的 /lib. 很多人会在编译时改变它,使用--with-config-file-path 标志。 例如, 你可以这样设它: --with-config-file-path=/etc
然后你可以复制源程序包里的 php.ini-dist 到 /etc/php.ini ,编辑它满足你的本地化需求。
Windows下 php.ini默认的路径是 Windows 系统目录. 如果你在使用 Apache webserver, php.ini 则最先在 Apaches 安装目录下被查找, 例如: c:\program files\apache group\apache. 这样你可以有不同的 php.ini 对应不同版本的 Apache(同一台机器上)。
更多细节请查阅 configuration file.
2. Unix: 我安装了 PHP, 但我每次加载一个文档, 会得到下面的消息: Document Contains No Data ! 怎么回事?
这可能是因为你的 PHP 发生了core-mping错误。 查找你的服务器错误日志文件,看看是否属于这种情况。 然后报告这个错误。如果你知道怎样使用 gdb ,你可以提供一个 backtrace 在你的错误报告里。这将会对开发人员解决 这个问题有很大帮助。如果你是在将PHP作为Apache模块使用,那么请按下面的步骤做:
停止 d 进程
gdb d
停止 d 进程
> run -X -f /path/to/d.conf
浏览你刚才出错的 URL
> run -X -f /path/to/d.conf
如果你还有 core mp, gdb 现在会通知你
打入: bt
在你的 bug report里应该包含backtrace 。 这些会被发往 bugs.php/
如果你的脚本使用了正则表达式函数 (ereg() and friends), 你应该确保你编译 PHP 和 Apache 用的是同一个正则表达式包。 在 PHP 和 Apache 1.3.x 这个过程是自动进行的。
3. Unix: 我使用 RPMS 安装 PHP , 但Apache 不支持 PHP页面! 怎么办?
假设你安装了 Apache 和 PHP(从 RPM ) , 你需要反注释或者增加一些行在你的 .conf 文件里: # Extra MolesAddMole mod_php.cAddMole mod_php3.cAddMole mod_perl.c# Extra MolesLoadMole php_mole moles/mod_php.soLoadMole php3_mole moles/libphp3.so /* for PHP 3 */LoadMole php4_mole moles/libphp4.so /* for PHP 4 */LoadMole perl_mole moles/libperl.so
And add: AddType application/x-d-php3 .php3 /* for PHP 3 */AddType application/x-d-php .php /* for PHP 4 */
... 到全局域里, 或者到你想要的 支持PHP的虚拟域里。
4. 我使用 RPMS 安装 PHP 3 , 但是它没有我需要的数据库选项支持! 我该怎么办?
因为 PHP 3 内建支持的关系, 编译一个完整的可适于所有应用的 PHP RPM是相当困难的。 在 PHP 4有谈到这点。 对 PHP 3, 我们只好建议你使用INSTALL.REDHAT (在 PHP包里)描述的机制。 如果你一定要使用 RPM 版的 PHP 3, 读...
RPM 包管理器设置 RPMS 简单的安装,不带数据库支持 and 因为RPMS 使用 /usr/ 而不是标准的 /usr/local/ 目录存放文件. 你需要告诉 RPM 文件你要支持哪种数据库以及它们的最上级目录的位置。
下面的例子将解释在Apache模式下怎样支持通行的数据库Mysql.
当然所有的这些可以稍作修改,以支持其它的PHP支持的数据库。我们假设你安装了 MySQL and Apache ,完全是用 RPMS 安装的。
首先,移去 mod_php3 : rpm -e mod_php3
然后取得rpm包并安装, 不是 --重编译 rpm -Uvh mod_php3-3.0.5-2.src.rpm
编辑/usr/src/redhat/SPECS/mod_php3.spec 文件
在 %build 一节里增加你想要的数据库支持, 以及路径信息。
对 MySQL 你应该增加: --with-mysql=/usr \
%build 节看起来象: ./configure --prefix=/usr \ --with-apxs=/usr/ *** in/apxs \ --with-config-file-path=/usr/lib \ --enable-debug=no \ --enable-safe-mode \ --with-exec-dir=/usr/bin \ --with-mysql=/usr \ --with-system-regex
改动完成后,象下面这样重编rpm : rpm -bb /usr/src/redhat/SPECS/mod_php3.spec
Then install the rpm rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm
重启 Apache,你已经得到了rpm下的Mysq
l的支持。 注意到这种做法比你重新得到一个 PHP 3 的tarball 代码,按照 INSTALL.REDHAT 的指引一步一步做要容易得多。
5. Unix: 我用 FrontPage 扩展包对Apache打了补丁, 忽然 PHP 停止工作。 是PHP 和 Apache FrontPage 包不兼容吗 ?
不是, PHP 和 FrontPage扩展包运行得很好.。问题是FrontPage 包修改了几个Apache 结构参数,而PHP要用到它们.在FrontPage扩展包被打上后, 重新编译 PHP (使用 make clean ; make ) ,会解决这个问题。
6. Unix/Windows: 我安装了PHP,但在浏览器里看我的PHP页面时,空白一片。
在浏览器里用 查看源文件 看你的脚本,你可能会发现你看到的是源程序。 这表示 web server 并没有送脚本到PHP去执行。肯定是服务器配置上哪儿出了错。 仔细检查PHP安装的 server 配置。
7. Unix/Windows: 我安装了PHP,但在浏览器里看我的 PHP页面时,我得到一个 server 500 error。
这是服务器在运行 PHP 时发生了错误。 为了看到可读的错误信息,在命令行,改变目录到 (php.exe Windows)所在目录, 运行 php -i. 如果有任何问题,详细的错误信息就显示出来了,它会告诉你下一步该做什么。 如果你得到满屏的HTML代码 (phpinfo() 函数的输出), 那么PHP工作正常,这个错误就是由于服务器配置引发的,应该仔细检查。
8. 某些操作系统: 我安装PHP没出错,可是我启动Apache时,得到一个 undefined symbol errors: [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/d Undefined symbols: _press _unpress
这个问题其实与 PHP 无关, 而与 MySQL 客户端库有关。 --with-zlib,有些操作系统需要,而有些不需要。MySQL FAQ已经讲述了这个问题。
9. Windows: 我安装了PHP,但在浏览器里看我的PHP页面, 得到如下错误: cgi error: The specified CGI application mi *** ehaved by not returning a plete set of HTTP headers. The headers it did return are:
这是 PHP 根本没有产生任何输出。 为了看到可读的错误信息,在命令行,改变目录到 (php.exe Windows)所在目录, 运行 php -i. 如果有任何问题,详细的错误信息就显示出来了,它会告诉你下一步该做什么。 如果你得到满屏的HTML代码 (phpinfo() 函数的输出), 那么PHP工作正常。
一旦PHP在命令行模式下工作,再看看你的脚本程序, 它还是失败,可能是因为以下原因:
你的PHP脚本的权限许可。 php.exe, php4ts.dll, php.ini 或者任何你可能装入的PHP文件,它样都必须能被匿名 inter 用户 ISUR_ 访问。
脚本文件根本不存在(或者不是你认为的位置。)请注意在IIS里,你能够阻塞这个错误,做法是在设置脚本映射目录时, 选上 check file exists 框。这样如果脚本不存在,服务器会返回一个404错误。 这样做也有其它的一些好处, 就是IIS仅为你做经过授权的操作。
10. Windows: 我严格按照install的要求做,可是还是不能让我的php在IIS下工作。
确定任何想要运行PHP的用户有操作php.exe的权限! IIS 使用匿名的inter用户,它是在IIS安装时系统自动增加的。 这个用户需要操作 php.exe的权限. 还有,任何需要授权的用户也必须有访问 php.exe的权限。 在 IIS4下,你要告诉它PHP是一个脚本引擎。
3. PHP源码如何编译为jar文件
可以使用 php2java 工具先转成 java 代码,再编译打包成 jar.
4. PHP文件如何编辑
关于php文件怎么打开的问题,我想对于一名站长来说并不陌生,老站长们都明白,从一个菜鸟到老鸟的过程,PHP的学习和了解是必须的,如果你不懂什么是PHP,那么很难混下去。
1.PHP文件是一个文本文件,如果您在本地是无法用浏览器读取的,但是您可以使用Dreamweaver、Zend Studio 、eclipse或emeditor等软件打开和编辑,如果您还不知道如何编辑PHP,可以参照烈火网的PHP开发手册学习这个强大的WEB开发语言。
2.PHP在成功开发以后,可以在PHP环境(您可以直接PHP安装包,然后参照IIS下PHP+mysql的安装教程来搭建PHP环境,亦可以直接使用PHP套件,例如:xampp、APMServ等软件)下浏览。
5. php如何反编译
PHP没有编译和反编译之说,是解释型的语言,你如果看到的代码有两种可能,一种是用eval来执行的用简单base_encode之类函数加密的语句,反解密出来就可以了。
还有一种可能是使用ZendGuard或者其它加密代码的工具进行加密出来后的代码,你可以找找具体是哪种情况,然后找相应的解密工作就可以了。
PS:大多数软件都是收费的。
6. 编译安装php,怎么生成apxs
让Apache服务器能够支持PHP。 如果编译安装时不加--options --with -apxs2参数,即使你的电脑上安装了Apache和PHP,通过Apache是不能访问PHP页面的,因为Apache本身只支持静态html页面。加入此参数,则能通过Apache访问PHP页面了。
7. PHP缓存技术的PHP编译缓存
目前最常见的PHP编译缓存工具有:APC,Accelerator,xcache(国产)等。
PHP是一种解释型语言,在PHP语言执行代码的时候,需要下面两步:
1、编译过程。PHP读取文件,并编译该文件,然后生成能够在Zend Engine虚拟机上执行的中间码。
2、执行过程。PHP直接执行中间码。
以下两种情况,会导致PHP运行程序代码效率低下:
1、即使PHP代码文件没有发生改变,也会被PHP重新编译。
2、如有引用文件,PHP也要花费时间重新编译这些被引用的文件。
因此,需要PHP编译缓存工具对PHP程序的编译结果做缓存处理。这样,PHP程序只要编译一次,就不要重新再做无意义的编译了。
8. 怎样把PHP代码编译成DLL文件
在大型机数据集中每一行就代表一条记录
那么就可以不用分别读取,并且我还真的没有试过分别读取
先假定你的输入文件记录长度为80
你可以直接把输入文件定义为
FD FILE1
........
.
01 INPUT-REC PIC X(80).
这样读取进来
然后就可以通过
UNSTRING INPUT-REC
DELIMITED BY SPACE
INTO 变量。
这样来实现读取。
而第一行为了转化为数字,可用FUNCTION NUMVAL(变量)
这样把字符形式转化为数字
这样就可可以了
如果还不懂就问吧
补充:数据集长度的大小不确定
在大型机里面数据集是以记录为单位来存放的,一行就是一个记录
如果是定长,比如80,那么在FD 下INPUT-REC PIC X(80)
变长要复杂点
那么不管一行是多少,比如记录长度是80,格式是fb
那么第一行是9(5),就是存放的5个数字
比如 12345----------数字后面就是空格
其他行是X(6)那么
比如ABCDEG------------字符后面也是空格
我们把输入文件对应的记录定义为
INPUT-REC PIC X(80)
那么我们想要取得前面的东西就可以
UNSTRING INPUT-REC
DELIMITED BY SPACE
INTO 变量
要不你把题目描述具体些,写出来,我来把代码写一下
9. 如何重新编译PHP使其支持mysqli
添加扩展的基本步骤:
1、进入PHP源代码目录:# cd /tmp/php-5.2.14/
2、再进入要添加的mysqli扩展源码目录:# cd ext/mysqli/
2、调用已经编译好的php里面的phpize:# /usr/local/php/bin/phpize
3、然后configure:# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/MySQL/bin/mysql_config
(/usr/local/mysql 为mysql的安装目录)
4、make && make install
5、编译之后,自动把mysqli.so放到了默认的php扩展目录下,我的为 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
(phpinfo可查看或者执行命令/usr/local/php/bin/php-config --extension-dir )
再修改php.ini 找到extension_dir 默认路径为 extension_dir="./" 我修改后才启动加载的
在下面添加extension = "mysqli.so" 保存即可