0

我需要有关我认为将是简单的本地机器设置的帮助。

我们的暂存服务器和生产服务器上有一个 php codeIgniter 应用程序。我一直在对分期、测试、确认然后移动生产进行编辑。看起来我们将在短期内做出一些重大改变,所以我决定将暂存代码移动到我的本地机器上,这样我就可以真正破解它了。令人尴尬的是,我无法将这个 php 应用程序配置为在我的本地机器上运行以挽救我的生命。现在经过一个多星期的尝试,我感到尴尬、沮丧和绝望。这并不是说我以前没有在我的本地机器上安装过应用程序,但这一个正在杀死我。

关于这个应用程序的一些见解。这是一个供多个客户访问的供应申请应用程序,课程由客户帐号管理。

客户“Ahh”在他们的浏览器中输入 [ahh.supplygrp.com],url 将他们带到他们的登录页面,他们登录并访问所有“他们的”公司相关信息。客户“Bee”在他们的浏览器中输入 [bee.supplygrp.com],url 将他们带到他们的登录页面,他们登录并访问所有“他们的”公司相关信息等等。

Ahh 和 Bee 是 acct_name,[参见附加的 db 架构]所以 url 转到服务器,找到应用程序,在 db 中查找 Ahh 或 Bee,如果找到,附加服​​务器名称,打开该 url,这将是 ahh.supplygrp .com,显示登录页面,成功登录>>关闭你去。

我知道我遇到了服务器名称、虚拟主机、主机文件、配置文件规则。我错过了一些东西,我不知道是什么。我在我的 PC 上设置了一个新的 easyphp5++ [WAMP] 安装,验证它适用于基本的 php 页面和 Codeigniter 的通用安装。我还安装了有问题的应用程序及其数据库。

任何人都可以指导我完成与服务器、主机文件、配置文件、虚拟主机配置相关的工作,以使该应用程序在我的本地计算机上运行。

附上配置文件、账户架构供参考。

非常感谢提前。

CREATE TABLE `supplyGrp_accts_tbl` (
  `id` int(5) NOT NULL auto_increment,
  `acct_name` varchar(128) NOT NULL,
  `acct_url` varchar(256) default NULL,
  `logo_url` varchar(256) default NULL,
  `created_by` int(10) default NULL,
  `created_date` datetime default NULL,
  `modified_by` int(10) default NULL,
  `modified_date` datetime default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;


<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
 *--------------------------------------------------------------------------
 * Settings - This file contains configuration parameters of application
 *--------------------------------------------------------------------------
 * @author The Dev Team
 * @created 2/12/2011
 * @version 1
 *--------------------------------------------------------------------------
 */

$svrEnv = getenv("SUPPLYGRP_ENV");

if($svrEnv == "PROD")
{
    //BASE URL
    $BASE_URL = "https://".$_SERVER['SERVER_NAME'];

    //DATABASE SETTINGS
    $DB_HOST = "localhost";
    $DB_USER = "supplygrp";
    $DB_PASSWORD = "mypasswrd";
    $DB_NAME = "supplygrp";

    //EMAIL SETTINGS
    $SEND_EMAILS = TRUE;
    $EMAIL_PROTOCOL = "SMTP";           //mail OR sendmail OR smtp
    //set smtp details
    $EMAIL_SMTP_HOST = "xxx.net";
    $EMAIL_SMTP_PORT = "25";
    $EMAIL_SMTP_AUTH_REQUIRED = FALSE;
    $EMAIL_SMTP_SECURE = "";            // '' OR ssl OR tls
    $EMAIL_SMTP_USERNAME = "";
    $EMAIL_SMTP_PASSWORD = "";

    //FILE UPLOAD SETTINGS
    $UPLOAD_DIRECTORY_PATH = "uploads/";
    $UPLOAD_DIRECTORY_FULL_PATH = "/sites/supplygrp/uploads/";
    $UPLOAD_LOGO_PATH = "logos/";
    $MAX_UPLOAD_SIZE = 10;              //In MB
    $MAX_UPLOAD_SIZE_PER_REQUEST = 10;  //In MB
}
elseif($svrEnv == "TEST")
{
    //BASE URL
    $BASE_URL = "http://".$_SERVER['SERVER_NAME'];

    //DATABASE SETTINGS
    $DB_HOST = "localhost";
    $DB_USER = "supplygrp";
    $DB_PASSWORD = "sg3dev2";
    $DB_NAME = "supplygrp";

    //EMAIL SETTINGS
    $SEND_EMAILS = TRUE;
    $EMAIL_PROTOCOL = "SMTP";           //mail OR sendmail OR smtp
    //set smtp details
    $EMAIL_SMTP_HOST = "localhost";
    $EMAIL_SMTP_PORT = "25";
    $EMAIL_SMTP_AUTH_REQUIRED = FALSE;
    $EMAIL_SMTP_SECURE = "";            // '' OR ssl OR tls
    $EMAIL_SMTP_USERNAME = "";
    $EMAIL_SMTP_PASSWORD = "";

    //FILE UPLOAD SETTINGS
    $UPLOAD_DIRECTORY_PATH = "uploads/";
    $UPLOAD_DIRECTORY_FULL_PATH = "/usr/local/sites/supplygrp/uploads/";
    $UPLOAD_LOGO_PATH = "logos/";
    $MAX_UPLOAD_SIZE = 10;              //In MB
    $MAX_UPLOAD_SIZE_PER_REQUEST = 10;  //In MB
}
elseif($svrEnv == "DEVL")
{
    //BASE URL
    $BASE_URL = "http://".$_SERVER['SERVER_NAME']."/supplygrp/www/";

    //DATABASE SETTINGS
    $DB_HOST = "localhost";
    $DB_USER = "supplygrp";
    $DB_PASSWORD = "mypassword";
    $DB_NAME = "supplygrp";

    //EMAIL SETTINGS
    $SEND_EMAILS = FALSE;
    $EMAIL_PROTOCOL = "SMTP";           //mail OR sendmail OR smtp
    //set smtp details
    $EMAIL_SMTP_HOST = "";
    $EMAIL_SMTP_PORT = "";
    $EMAIL_SMTP_AUTH_REQUIRED = FALSE;
    $EMAIL_SMTP_SECURE = "";            // '' OR ssl OR tls
    $EMAIL_SMTP_USERNAME = "";
    $EMAIL_SMTP_PASSWORD = "";

    //FILE UPLOAD SETTINGS
    $UPLOAD_DIRECTORY_PATH = "uploads/";
    $UPLOAD_DIRECTORY_FULL_PATH = "C:/easyphpwebserver/www/supplygroup/uploads/";
    $UPLOAD_LOGO_PATH = "logos/";
    $MAX_UPLOAD_SIZE = 4;               //In MB
    $MAX_UPLOAD_SIZE_PER_REQUEST = 8;   //In MB
}

?>
4

1 回答 1

1

所以看起来你缺少的是编辑你的hosts文件并为 apache 创建一个virtualhost容器。

虚拟主机文件

NameVirtualHost *:80 # you only need this once in the entire config
<VirtualHost *:80>
    ServerName thedomain
    ServerAlias *.thedomain
    DocumentRoot "C:/easyphpwebserver/www/supplygroup"
    <Directory "C:/easyphpwebserver/www/supplygroup">
      AllowOverride All
    </Directory>
</VirtualHost>

The problem is in order to use the subdomains youll need to run your own local DNS unless you want to add every possible subdomain to the hosts file - this is because the hosts file doesnt support wildcard hostnames.

于 2012-03-01T16:55:44.170 回答