Как мне заставить это приложение CI php запускаться с моей локальной машины? - PullRequest
0 голосов
/ 01 марта 2012

Мне нужна помощь с тем, что я думал, будет простой локальной машиной.

На наших промежуточных и, конечно, производственных серверах есть приложение php codeIgniter. Я вносил свои поправки в постановку, тестирование, затем подтверждал перенос производства. Похоже, что в ближайшее время мы сделаем некоторые существенные изменения, поэтому я решил перенести промежуточный код на свой локальный компьютер, чтобы я мог по-настоящему взломать его. Как это ни стыдно, я не могу настроить это php-приложение для работы на моей локальной машине, чтобы спасти мою жизнь. Теперь, после более чем недели попыток, я смущен, впал в отчаяние. Не то чтобы я раньше не устанавливал приложения на свой локальный компьютер, но это убивает меня.

Некоторое понимание этого приложения. Это одно приложение для подачи заявок, к которому имеют доступ несколько клиентов, и курс регулируется номером учетной записи клиента.

Клиент "Ahh" набирает [ahh.supplygrp.com] в своем браузере, URL переводит их на страницу входа, они входят в систему и получают доступ ко всей информации, относящейся к их компании. «Пчела» клиента набирает в своем браузере [bee.supplygrp.com], URL переводит их на страницу входа, они входят в систему и получают доступ ко всей информации, относящейся к их компании, и т. Д.

Ahh и Bee являются acct_name, [см. Присоединенную схему БД], поэтому URL-адрес идет на сервер, находит приложение, просматривает в базе данных Ahh или Bee, если он найден, добавляет имя сервера, открывает тот URL, который будет ahh.supplygrp.com, показывает страницу входа в систему, успешный вход в систему >> не уходи.

Я знаю, что отключился от имени сервера, виртуального хоста, файла хоста, правил файла конфигурации. Я что-то упускаю и не знаю что. Я установил новую установку 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 Ответ

1 голос
/ 01 марта 2012

Похоже, вам не хватает редактирования файла hosts и создания контейнера virtualhost для apache.

Файл виртуального хоста

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 не поддерживает подстановочные имена хостов.

...