2013-07-23 3 views
0

Допустим, я создал скрипт, и я хочу, чтобы каждый раз кто-то открывает его в локальном хосте/его веб-сервер, чтобы получить перенаправлены в директорию установкиСоздание сценария установки PHP

Должен ли я изменить .htaccess и добавить DirectoryIndex Install.php или есть другой способ?

Заранее спасибо :)

P.S: Я уже создал скрипт установки.

+0

вы можете задать этот вопрос на http://www.reddit.com/r/webdev/. Здесь люди просто помогают с вашими кодами. вам нужно что-то сделать. –

+1

Пожалуйста, покажите нам, что вы пробовали. – Pogrindis

+0

Какую цель выполняет сценарий установки? Если он устанавливает таблицы БД, вы должны проверить их существование и затем выполнить установку. Помните, что установка могла быть прервана или повреждена. – BenM

ответ

1

Вы можете проверить установки с добавлением ниже кодов вашего сценария заголовок индексного файла:

С Существование файла:

//if the install file doesn't exist, the script hasn't been installed. 
if(file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/install.php')) 
{ 
    $folder = dirname($_SERVER['SCRIPT_NAME']); 
    $path = rtrim($_SERVER['HTTP_HOST'].$folder, '/\\').'/'; 
    header('Location: http://'.$path.'install.php'); 
    die; 
} 

С DB Существования:

//if the install file doesn't exist, the script hasn't been installed. 
if(mysql_select_db('db_name')) 
{ 
    $folder = dirname($_SERVER['SCRIPT_NAME']); 
    $path = rtrim($_SERVER['HTTP_HOST'].$folder, '/\\').'/'; 
    header('Location: http://'.$path.'install.php'); 
    die; 
} 
+0

Это считает, что пользователь удаляет install.php после того, как «установить» не всегда правильный метод, например, если обновления выполняются самим скриптом установки. – Pogrindis

+0

Установка завершена или нет, как вы думаете, чтобы проверить установку? вы можете изменить install.php на существование db или что-то еще. – Bora

+0

Согласен, просто чтобы дать ему более полный ответ, я бы предложил добавить проверку БД на ваш ответ! – Pogrindis

0

Я всегда вставили несколько значений в базу данных, чтобы указать статус установки. Если эти значения отсутствуют, это означает, что установка не выполняется или не требуется установка для исправления неисправной установки.

Эта же система в моих сценариях используется для запуска обновления. Поэтому подумайте заранее об этой части. Вы хотите, чтобы пользователи отображали информацию об обновлении и кнопку, чтобы начать любое обновление?

Я рассматриваю установку как состояние не только для действий, то я делаю свои приложения постоянно проверять состояние установки, и я делаю это, когда пользователь не выполняет действия во избежание слишком большой обработки. Если что-то признано неправильным при установке, мои приложения заставляют пользователя просматривать экран установки/обновления, где будет отображаться информация о возможной ошибке.

Передача не производится. Вместо этого очень рано в моем скрипте есть аргумент if, который проверяет переменную, которая указывает общее состояние установки. Поэтому, если $ installstate = true, тогда загрузите приложение как обычно, если $ installstate = false, тогда возникает проблема, поэтому загрузите экран Install/Update.

Ряд других значений используется для создания интеллектуального процесса установки/обновления. Возможно, немного больше, чем вы хотите создать, но никакая система установки не является доказательством дурака без диагностики. Принимая во внимание, что во время начальной установки произошла ошибка, пользователь сжимает установку или хакер. Таким образом, диагностическая система связана с установкой и вместо того, чтобы делать перемотку в файл, я надеюсь, что все еще есть. Я просто вызываю некоторые функции.

Смежные вопросы