如何让这个 CI php 应用程序在我的本地机器上运行
Posted
技术标签:
【中文标题】如何让这个 CI php 应用程序在我的本地机器上运行【英文标题】:How do I get this CI php application to run from my local machine 【发布时间】:2012-03-20 04:16:39 【问题描述】:我需要帮助,我认为这将是简单的本地机器设置。
我们的暂存服务器和生产服务器上都有一个 php codeIgniter 应用程序。我一直在对分期、测试、确认然后移动生产进行编辑。看起来我们将在短期内做出一些重大改变,所以我决定将暂存代码移动到我的本地机器上,这样我就可以真正破解它了。令人尴尬的是,我无法将这个 php 应用程序配置为在我的本地机器上运行以挽救我的生命。现在经过一个多星期的尝试,我感到尴尬,陷入沮丧并陷入绝望。不是说我以前没有在本地机器上安装过应用程序,但是这个让我很生气。
对此应用的一些见解。这是一个供多个客户访问的供应申请应用程序,课程由客户帐号管理。
客户“Ahh”在他们的浏览器中输入 [ahh.supplygrp.com],网址将他们带到他们的登录页面,他们登录并访问所有“他们的”公司相关信息。客户“Bee”在他们的浏览器中输入 [bee.supplygrp.com],url 将他们带到他们的登录页面,他们登录并访问所有“他们的”公司相关信息等等。
Ahh 和 Bee 是 acct_name,[参见附加的 db 架构]因此 url 转到服务器,找到应用程序,在 db 中查找 Ahh 或 Bee,如果找到,附加服务器名称,打开该 url,这将是ahh.supplygrp.com,显示登录页面,成功登录>>离开。
我知道我遇到了服务器名称、虚拟主机、主机文件、配置文件规则。我错过了一些东西,我不知道是什么。我在我的 PC 上设置了一个新的 easyphp5++ [WAMP] 安装,验证它适用于基本的 php 页面和 Codeigniter 的通用安装。我还安装了有问题的应用程序及其数据库。
任何人都可以指导我完成与服务器、主机文件、配置文件、虚拟主机配置相关的工作,以使该应用程序在我的本地计算机上运行。
附上配置文件,acct架构供参考。
非常感谢。
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
?>
【问题讨论】:
【参考方案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>
问题在于,为了使用子域,您需要运行自己的本地 DNS,除非您想将所有可能的子域添加到 hosts 文件中 - 这是因为 hosts 文件不支持通配符主机名。
【讨论】:
现在当您提到“主机”文件时,您是指上面的虚拟主机,还是您在位于此处的 Windows 中包含主机文件“C:\Windows\System32\drivers\等\主机“?至于添加所有可能的子域,我真的只需要使用两三个来测试,所以我可以添加额外的子域。 当提到hosts
文件时,我的意思是C:\Windows\System32\drivers\etc\hosts
。
我只能说谢谢,谢谢,谢谢!!!我发誓我做了以上所有事情,但显然我忽略了你所涵盖的一些事情。它已启动并正在运行。谢谢 - 谢谢你以上是关于如何让这个 CI php 应用程序在我的本地机器上运行的主要内容,如果未能解决你的问题,请参考以下文章
无法在我的本地主机 (XAMPP) 上安装 Magento 2
如何从本地机器上运行的 Django App 连接到 ElastiCache 实例 (Redis)
我已经在我的本地系统上安装了 Magento2,它给了我以下错误通知作为“PHP Extension xsl”。我该如何解决这个问题