将readfile()与远程URL和SSL一起使用

时间:2010-06-06 15:00:20

标签: php

我有一个基于php的网站,它使用SSL并要求用户在访问任何页面之前登录。我想允许从另一个域访问此站点,以便功能保持不变,但用户的外观,感觉和域更改(具有额外的优势,我必须只维护一个版本的代码)。

完成了一些阅读后,我在辅助服务器上的php文件中使用readfile()函数调用到主服务器上的相应文件。例如,主服务器上的login.php是通过名为login.php的文件从辅助服务器访问的,该文件包含readfile(“http://www.primarydomain.com/login.php”)(并且没有其他内容)。

现在问题 - 我甚至无法登录!最初调用时登录页面显示正常,但是当输入并提交登录用户和密码时,就好像远程服务器没有看到触发表单处理的$ _SERVER ['REQUEST_METHOD']变量,只是作为空表单加载

我有什么想法,或者我可能需要更改哪些配置?

谢谢!

1 个答案:

答案 0 :(得分:0)

创建单个PHP文件,然后在多个站点中将其用于相同目的是一个好主意。但是,以这种方式使用该文件的方式取决于托管包的一般基础结构。

如果您有一个托管帐户,允许在一个帐户下托管所有受影响的网站,您应该能够使用{{调用公共文件(在本例中为login.php) 1}}或include()函数。

require()

在这种情况下,该PHP文件的所有功能都将被执行,就像它是调用页面的一部分一样。

如果您有多个主机帐户/服务器的多个站点,则无法再进行上述操作。如果通过浏览器访问URL,使用<?php require( '/home/1234/public_html/common/login.php' ); ?> 函数将能够收集输出,但基础功能将丢失 - 即您无法调用readfile()文件并且它实际上在辅助站点上执行登录。

在这种情况下,您确实需要获取实际PHP文件的副本并将它们放在辅助服务器/帐户上以使用它们。

这可能会使管理文件版本变得稍微困难​​,但是,这是解决此问题的常用方法,只要您记得将所有文件更新推送到所有受影响的站点,它就能正常运行。