为什么我无法从本地 linux 计算机上的远程 linux 服务器 运行 工作 PHP 网站?
Why I'm not able to run the working PHP website from remote linux server on my local linux machine?
我在远程 Linux 服务器上安装了工作网站。
网站的所有文件都存在于该远程 linux 服务器上的目录 '/var/www/'
中。
我使用 Filezilla 连接到该远程服务器并下载了 '/var/www/'
中存在的所有文件
我还在本地计算机上使用 Ubuntu Linux、Apache Web 服务器。
我将所有下载的文件放入名为 'new_website'
的文件夹中,该文件夹位于 '/var/www/new_website'
位置
之后我在浏览器中点击 URL 'http://localhost/new_website' 并收到以下错误消息。
**Forbidden**
You don't have permission to access /new_website on this server.
Server unable to read htaccess file, denying access to be safe
然后我在谷歌上搜索了解决方案,发现我必须为文件夹 '/var/www/new_website'
中的文件“.htaccess”授予 755 权限。即使在这样做之后我也遇到了同样的错误。有人可以让我知道这个问题的解决方案是什么。供您参考,我将文件 '/var/www/new_website/.htaccess'
的代码放在下面
注意:出于安全考虑,我在以下 .htaccess 代码中使用了我的工作网站的副本 URL 作为 'www.mywebsite.com'
######################################
## [PHPFOX_HEADER]
##
## @copyright [PHPFOX_COPYRIGHT]
## @author Raymond Benc
## @package PhpFox
## @version $Id: htaccess.txt 5866 2013-05-10 09:06:38Z Raymond_Benc $
######################################
# Options -Indexes
# Options -Multiviews
# Header unset Pragma
# FileETag None
# Header unset ETag
# URL Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
#
# Full path to your site
#
RewriteBase /
# Rename Photo Names
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)_([0-9]*?)\.(.*)$ file/pic/photo///_.
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)\.(.*)$ file/pic/photo///.
# 301 redirect if missing www.
#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule ^(.*)$ http://www.% {HTTP_HOST}/ [R=301,L]
# 301 redirect if missing trailing slash
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
#
# Rules
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?do=/
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/ [L,R=301]
# Image Access Protection
# RewriteRule ^file/pic/photo/(.*)\.(.*)$ static/image.php?file=&ext=
</IfModule>
# Modify Headers
<IfModule mod_expires.c>
ExpiresActive ON
# Cache files
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
# Cache JavaScript & CSS
<FilesMatch "\.(js|css)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
</IfModule>
# Compress JavaScript & CSS
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
order allow,deny
deny from 77.99.11.22
allow from all
如果您需要我提供更多信息来解决此问题,请告诉我。
谢谢。
您必须更改该目录中 files/folders 的权限。
在终端中,转到该目录并输入,
sudo chmod 777 . -R
递归修改所有文件的权限
您需要在此处修改新服务器的服务器设置(数据库、用户、主机等设置)://yournewserver/include/setting/server.sett.php ,否则将不起作用。要调试,启用或创建文件 //yournewserver/include/setting/dev.sett.php ... 解决问题后,您只需将其重命名为任何名称,以备后用。一旦你 运行 程序,它会自动检测它并 运行 为你调试。设置新服务器参数后可以修改的 .htaccess 文件。您需要做的第一件事是连接到数据库并确保 //yournewserver/file 文件夹是完全可写的 chmode 777 递归,升级或迁移后,您将需要chmod 到管理面板会告诉你的任何事情,如果你需要做任何其他事情,比如删除安装文件夹或任何其他 chmod 问题。我的服务器告诉我安装后要做什么:"Main file folder is writable (file/). This is a security risk and this folder should not have any "write" permission." 但你在一切正常后才这样做。
一旦您启用或创建该调试文件,一旦您从本地主机或本地服务器中的 IP 运行 PHPFOX,就会显示错误。如果您没有该文件,您可以创建一个新文件。这是 PHPFOX V3.8 的代码...您可以创建它并将其放在该文件夹中。该调试文件可能因版本而异。检查适合您的版本的版本,但您可以试一试。祝你好运。
<?php
// Log error messages to XML flat file within the cache folder
define('PHPFOX_LOG_ERROR', true);
// Enable debug
define('PHPFOX_DEBUG', true);
// Debug level
define('PHPFOX_DEBUG_LEVEL', 3);
// Force browsers to re-cache static files on each page refresh
define('PHPFOX_NO_CSS_CACHE', true);
define('PHPFOX_DEBUG_EXIT', true);
define('PHPFOX_NO_TEMPLATE_CACHE', true);
?>
我在远程 Linux 服务器上安装了工作网站。
网站的所有文件都存在于该远程 linux 服务器上的目录 '/var/www/'
中。
我使用 Filezilla 连接到该远程服务器并下载了 '/var/www/'
我还在本地计算机上使用 Ubuntu Linux、Apache Web 服务器。
我将所有下载的文件放入名为 'new_website'
的文件夹中,该文件夹位于 '/var/www/new_website'
之后我在浏览器中点击 URL 'http://localhost/new_website' 并收到以下错误消息。
**Forbidden**
You don't have permission to access /new_website on this server.
Server unable to read htaccess file, denying access to be safe
然后我在谷歌上搜索了解决方案,发现我必须为文件夹 '/var/www/new_website'
中的文件“.htaccess”授予 755 权限。即使在这样做之后我也遇到了同样的错误。有人可以让我知道这个问题的解决方案是什么。供您参考,我将文件 '/var/www/new_website/.htaccess'
注意:出于安全考虑,我在以下 .htaccess 代码中使用了我的工作网站的副本 URL 作为 'www.mywebsite.com'
######################################
## [PHPFOX_HEADER]
##
## @copyright [PHPFOX_COPYRIGHT]
## @author Raymond Benc
## @package PhpFox
## @version $Id: htaccess.txt 5866 2013-05-10 09:06:38Z Raymond_Benc $
######################################
# Options -Indexes
# Options -Multiviews
# Header unset Pragma
# FileETag None
# Header unset ETag
# URL Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
#
# Full path to your site
#
RewriteBase /
# Rename Photo Names
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)_([0-9]*?)\.(.*)$ file/pic/photo///_.
# RewriteRule ^file/pic/photo/([0-9]+)/([0-9]+)/([A-Za-z0-9]{32}+)\-(.*?)\.(.*)$ file/pic/photo///.
# 301 redirect if missing www.
#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule ^(.*)$ http://www.% {HTTP_HOST}/ [R=301,L]
# 301 redirect if missing trailing slash
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
#
# Rules
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?do=/
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/ [L,R=301]
# Image Access Protection
# RewriteRule ^file/pic/photo/(.*)\.(.*)$ static/image.php?file=&ext=
</IfModule>
# Modify Headers
<IfModule mod_expires.c>
ExpiresActive ON
# Cache files
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
# Cache JavaScript & CSS
<FilesMatch "\.(js|css)$">
Header set Cache-Control "public"
ExpiresDefault "access plus 2 months"
Header unset Last-Modified
</FilesMatch>
</IfModule>
# Compress JavaScript & CSS
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
order allow,deny
deny from 77.99.11.22
allow from all
如果您需要我提供更多信息来解决此问题,请告诉我。 谢谢。
您必须更改该目录中 files/folders 的权限。
在终端中,转到该目录并输入,
sudo chmod 777 . -R
递归修改所有文件的权限
您需要在此处修改新服务器的服务器设置(数据库、用户、主机等设置)://yournewserver/include/setting/server.sett.php ,否则将不起作用。要调试,启用或创建文件 //yournewserver/include/setting/dev.sett.php ... 解决问题后,您只需将其重命名为任何名称,以备后用。一旦你 运行 程序,它会自动检测它并 运行 为你调试。设置新服务器参数后可以修改的 .htaccess 文件。您需要做的第一件事是连接到数据库并确保 //yournewserver/file 文件夹是完全可写的 chmode 777 递归,升级或迁移后,您将需要chmod 到管理面板会告诉你的任何事情,如果你需要做任何其他事情,比如删除安装文件夹或任何其他 chmod 问题。我的服务器告诉我安装后要做什么:"Main file folder is writable (file/). This is a security risk and this folder should not have any "write" permission." 但你在一切正常后才这样做。
一旦您启用或创建该调试文件,一旦您从本地主机或本地服务器中的 IP 运行 PHPFOX,就会显示错误。如果您没有该文件,您可以创建一个新文件。这是 PHPFOX V3.8 的代码...您可以创建它并将其放在该文件夹中。该调试文件可能因版本而异。检查适合您的版本的版本,但您可以试一试。祝你好运。
<?php
// Log error messages to XML flat file within the cache folder
define('PHPFOX_LOG_ERROR', true);
// Enable debug
define('PHPFOX_DEBUG', true);
// Debug level
define('PHPFOX_DEBUG_LEVEL', 3);
// Force browsers to re-cache static files on each page refresh
define('PHPFOX_NO_CSS_CACHE', true);
define('PHPFOX_DEBUG_EXIT', true);
define('PHPFOX_NO_TEMPLATE_CACHE', true);
?>