Joomla 3 测试站点与生产站点:应该更改哪些文件?
Joomla 3 test site vs. production site: which files should change?
我正在维护一个 Joomla 3 站点,我想在不同的虚拟主机中设置一个测试站点,以便我们可以先在其中测试代码更改。测试网站主机在不同的服务器上,使用不同的数据库等,但我希望它尽可能与生产网站相同。
在向对方主机下载和上传站点时,需要注意哪些文件?我知道 configuration.php。还有其他的吗?
(我在搜索时找到的所有文档都是关于旧版本的 Joomla:1.5,2.x...)
对于这样的事情,我建议使用 Akeeba Backup 和 Kickstart
https://www.akeebabackup.com/products/akeeba-backup.html
https://www.akeebabackup.com/products/akeeba-kickstart.html
只需为您的站点创建一个备份,然后使用 Kickstart 将其安装到您的测试服务器上。安装过程将处理不同的设置。确保禁用从测试系统发送邮件。否则您的用户可能会收到不应该收到的邮件。
Sven's 建议很好,这里有几个其他选项。
在与生产站点相同的服务器上创建测试站点可能有一些优势,一方面,您会知道服务器环境是相同的。您可以通过以下两种方式执行此操作。
您可以在您的生产站点上创建一个新的 'test' 子目录,并使用 Akeeba 备份在该位置安装您站点的副本。如果这样做,请注意创建第二个测试数据库,并在使用 Akeeba 备份时指定这个新数据库。完成后,您的生产站点将位于 www.domain.com,您的测试站点将位于 www.domain.com/test/
或者 StageIt 是一个非常好的商业插件,它将在您的生产服务器上设置暂存环境。您可以测试您的想法,并在完成后将它们从测试同步回生产站点。
祝你好运!
这是另一个不涉及任何第三方组件的解决方案。不过,您需要注意一些要点。步骤解释如下。
- 将整个文件从第一个服务器复制到第二个服务器。
- 从 phpmyadmin 将数据库从第一台服务器复制到第二台服务器。
更改 configuration.php 文件中的数据库详细信息和其他配置详细信息。主要是您需要更改数据库详细信息以及日志和 tmp 路径。检查 log 和 tmp 文件夹是否可写。
<?php
class JConfig {
public $db = 'joomla';
public $dbprefix = 's5oiy_';
public $log_path = 'C:/xampp/htdocs/joomla/administrator/logs';
public $memcache_server_host = 'localhost';
public $memcache_server_port = '11211';
public $password = 'dbpass';
public $sendmail = '/usr/sbin/sendmail';
public $smtpauth = '0';
public $smtphost = 'localhost';
public $smtppass = '';
public $smtpport = '25';
public $smtpsecure = 'none';
public $smtpuser = '';
public $tmp_path = 'C:/xampp/htdocs/joomla/tmp';
public $user = 'root';
public $memcached_server_host = 'localhost';
public $memcached_server_port = '11211';
public $redis_server_host = 'localhost';
public $redis_server_port = '6379';
public $redis_server_auth = '';
public $redis_server_db = '0';
public $proxy_enable = '0';
public $proxy_host = '';
public $proxy_port = '';
public $proxy_user = '';
public $proxy_pass = '';
public $session_memcache_server_host = 'localhost';
public $session_memcache_server_port = '11211';
public $session_memcached_server_host = 'localhost';
public $session_memcached_server_port = '11211';
}
?>
这些是 configuration.php 文件中的变量,更改服务器后需要检查这些变量。
如果您不知道基本目录路径,您可能会提供错误的日志和 tmp 路径。所以要知道目录路径你可以使用这个代码
<?php
$dir = getcwd();
echo $dir;
?>
我正在维护一个 Joomla 3 站点,我想在不同的虚拟主机中设置一个测试站点,以便我们可以先在其中测试代码更改。测试网站主机在不同的服务器上,使用不同的数据库等,但我希望它尽可能与生产网站相同。
在向对方主机下载和上传站点时,需要注意哪些文件?我知道 configuration.php。还有其他的吗?
(我在搜索时找到的所有文档都是关于旧版本的 Joomla:1.5,2.x...)
对于这样的事情,我建议使用 Akeeba Backup 和 Kickstart
https://www.akeebabackup.com/products/akeeba-backup.html https://www.akeebabackup.com/products/akeeba-kickstart.html
只需为您的站点创建一个备份,然后使用 Kickstart 将其安装到您的测试服务器上。安装过程将处理不同的设置。确保禁用从测试系统发送邮件。否则您的用户可能会收到不应该收到的邮件。
Sven's 建议很好,这里有几个其他选项。
在与生产站点相同的服务器上创建测试站点可能有一些优势,一方面,您会知道服务器环境是相同的。您可以通过以下两种方式执行此操作。
您可以在您的生产站点上创建一个新的 'test' 子目录,并使用 Akeeba 备份在该位置安装您站点的副本。如果这样做,请注意创建第二个测试数据库,并在使用 Akeeba 备份时指定这个新数据库。完成后,您的生产站点将位于 www.domain.com,您的测试站点将位于 www.domain.com/test/
或者 StageIt 是一个非常好的商业插件,它将在您的生产服务器上设置暂存环境。您可以测试您的想法,并在完成后将它们从测试同步回生产站点。
祝你好运!
这是另一个不涉及任何第三方组件的解决方案。不过,您需要注意一些要点。步骤解释如下。
- 将整个文件从第一个服务器复制到第二个服务器。
- 从 phpmyadmin 将数据库从第一台服务器复制到第二台服务器。
更改 configuration.php 文件中的数据库详细信息和其他配置详细信息。主要是您需要更改数据库详细信息以及日志和 tmp 路径。检查 log 和 tmp 文件夹是否可写。
<?php class JConfig { public $db = 'joomla'; public $dbprefix = 's5oiy_'; public $log_path = 'C:/xampp/htdocs/joomla/administrator/logs'; public $memcache_server_host = 'localhost'; public $memcache_server_port = '11211'; public $password = 'dbpass'; public $sendmail = '/usr/sbin/sendmail'; public $smtpauth = '0'; public $smtphost = 'localhost'; public $smtppass = ''; public $smtpport = '25'; public $smtpsecure = 'none'; public $smtpuser = ''; public $tmp_path = 'C:/xampp/htdocs/joomla/tmp'; public $user = 'root'; public $memcached_server_host = 'localhost'; public $memcached_server_port = '11211'; public $redis_server_host = 'localhost'; public $redis_server_port = '6379'; public $redis_server_auth = ''; public $redis_server_db = '0'; public $proxy_enable = '0'; public $proxy_host = ''; public $proxy_port = ''; public $proxy_user = ''; public $proxy_pass = ''; public $session_memcache_server_host = 'localhost'; public $session_memcache_server_port = '11211'; public $session_memcached_server_host = 'localhost'; public $session_memcached_server_port = '11211'; }
?>
这些是 configuration.php 文件中的变量,更改服务器后需要检查这些变量。
如果您不知道基本目录路径,您可能会提供错误的日志和 tmp 路径。所以要知道目录路径你可以使用这个代码
<?php
$dir = getcwd();
echo $dir;
?>