我想写一个通用的PHP脚本来处理任何传进来的表单F

 更新时间:2016年11月25日 17:41  点击:1975
确定track_vars在你php3.ini文件中。如果你在编译PHP时加上"--enable-track-vars",肯定就有了。你要在下面二种方式中选择一种:在编译时加入;或是在每个脚本的第一行加入 <?php_track_vars?>字符串。当track_vars打开时,会建立三个数组: $HTTP_GET_VARS、$HTTP_POST_VARS 和 $HTTP_COOKIE_VARS。因此,建立通用的 POST方法脚本,可以用下面的程序:
while (list($var, $value) = each($HTTP_POST_VARS))
{ echo "$var = $value
n"; }
有两种方法检查。第一种,当Apache建立apxs Perl程序时,因为一些原因,它没有包含正确的编译参数。编辑你apxs(在/usr/local/apache/bin/apxs或者 /usr/sbin/apxs)并检查下列几行:
my $CFG_CFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
如果你看到上面那样子,就是你发生错误的地方了,改成下面几行的样子:
my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = 'gcc'; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);# substituted via Makefile.tmpl
第二种可能的原因只有在RedHat 6.1上发生。RedHat 上的apxs配置有问题,如下行:
my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install
如果你看到上面那行,应该改成下面这行:
my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install

首先,请参考英文的 addslashes() 函数,它能达到你想要的功能,你也应参考php3.ini设定的 magic_quotes_gpc 选项。
函数 ereg_replace()可以达到你要的结果,做法如下:
$escaped = ereg_replace("'", "'", $input);
看看连接的那一行,确定所有的Lib库的包含文件都在正确的位置。通常你可能没用'-ldl' 并且有任何的必须Lib库或者是使用的数据库有问题。
如果你连接Apache 1.2.x,是否记得配置文件中加到EXTRA_LIBS的附加信息,并重新运行Apache配置文件?参考英文的INSTALL文件,有更多的信息。
有些人回复说使用'-ldl',马上跟着'libphp3.a'连接Apache也是相同的。
实际这是很简单的,小心跟着以下的步骤做:
在http://www.apache.org/dist/取得最新的Apache 1.3套件
解压(ungzip)及解包(untar)到Apache指定的路径,如/usr/local/src/apache-1.3。
编辑PHP,运行./configure --with-apache=//apache-1.3(路径<path>为放置apache-1.3的路径)
输入"make",运行完之后,运行"make install",将需要的文件复制到Apache目录中。
跳到Apache的路径//apache-1.3/src,并编辑Configuration文件。在该文件的结尾处加入 AddModule modules/php3/libphp3.a字符串
运行'./Configure'后再运行'make'。
现在,你就有含PHP的httpd的二进制程序了。
 注意:你也可以运行Apache的./configure配置文件。参考你的Apache套件中的 README.configure文件。还有,看一下PHP套件中的INSTALL文件。
[!--infotagslink--]

相关文章