我正在尝试帮助一位朋友将网站从一个网络酒店转移到另一个。老地方已经关门了,我只有一个扁平的 tar 文件,里面有什么。
该网站包含 HTML 文档,并且可以下载一个小的 Java 应用程序(将加载到手机上)以将数据发送到该网站。
移动 Java 应用程序向 URL=<HOST>/php/register.php
发送了一个字符串。此 php 脚本包含另一个 php 脚本 ( ../inc/db_login.php
),它使用 $link=mysql_connect()
连接到 SQL DB。另一个文件 register.php
插入了 SQL 以将新发送的数据放入数据库中。
我的问题基本上是,我应该把这 2 个 PHP 文件放在新网站的什么地方,目录和文件应该有什么权限?
旧的 Web 服务器显然有一个 /php
和 /inc
目录。这些都不存在于新的网络服务器上。我应该创建它们吗?他们应该有什么权限?我猜想将密码放在单独的 PHP 文件中的原因是安全性。 /php
和 /inc
目录可能有不同的权限。
新服务器有目录:
/httpdos
/httpsdos
/cgi-bin
/conf
(还有一些可能不相关)
我的问题
文件扩展名(
.php
)是否对服务器意味着什么:因为 PHP 脚本“包含”在 HTML 代码中(在<?...?>
之间,服务器是否需要查看文件后缀还是无关紧要?(我知道服务器对<?...?>
有反应,当然)公共文件(在我的例子中是
register.php
)应该放在httpdocs/
目录中,还是服务器(我认为是 apache)对某些东西做出反应并将其提取到另一个目录中?PHP脚本是否应该有权限
R-X
(读取和执行)、--X
(执行)或R--
(读取)?从操作系统的角度来看,我猜 apache 只是在读取这些文件,这意味着它们应该是R--
,但这意味着如果 PHP 服务“停止”,客户端将在他的浏览器中获取所有 PHP 代码( ?)。我更喜欢它是--X
但由于它既不是二进制文件也没有#!
,我想它一定是--R
?如果公共 PHP 脚本可以放在另一个目录中(例如
/php
而不是/httpdocs
)应该/php
(和脚本)有什么权限?我猜服务器必须知道这个/php
目录(或者有通常的默认值吗?)包含的 PHP 脚本(
../inc/db_login.php
,包含 SQL 密码)不应位于/httpdocs
我猜。这意味着我的register.php
包含一个不在/httpdocs
子树下的文件。这行得通吗?服务器需要知道吗?
我了解您可能需要了解服务器配置。只需在您的答案中假设默认值(如果是,您可以告诉它在哪里更改)。
原文由 christophe milard 发布,翻译遵循 CC BY-SA 4.0 许可协议
设置文件权限为 0644,文件夹权限为 0755。
我为此编写了一个库。
使用示例:
完整文档: https ://github.com/MathiasReker/php-file-permissions