Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José Tonim

[Resolvido] Colocar a aplicação online

Recommended Posts

Opa galera beleza?

 

Seguinte, estou criando uma aplicação (básica, so login, sistema de noticias, blog e usuarios) com o zend, a dúvida é, qd estiver tudo pronto e for colocar em algum host e digitar www.exemplo.com.br como eu faço? Vai precisar altera algo nas configurações?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para colocar online é bem simples. No seu host deve ter algo assim:

 

/public_html

Este public_html pode ter outro nome (web, www...) dependendo do host, mas é onde ficam os arquivos que serão acessados ao entrar em www.exemplo.com.br. Tendo isto em mente, sua aplicação ficará assim:

/application
/library
/public_html
    /imagens
    /js
    /css
    index.php
    .htaccess

 

Sobre ter que mudar alguma configuração, aí vai depender de como você está fazendo a aplicação e as URLs. Está usando caminho relativo? Está usando o helper $this->url() para montar as urls nas views ou está criando na mão?

 

Para ter uma noção, poste o seu application.ini e o seu Bootstrap.php.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bootstrap

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
public function __construct($application)
{
	parent::__construct($application);
	$this->_connectDatabase();
	$this->_loadComponents();
	$this->_sanitizeData();
}

private function _connectDatabase()
{
	$resource = $this->getPluginResource('db');
	$db = $resource->getDbAdapter();
	Zend_Registry::set('db',$db);
}

private function _loadComponents()
{
	require_once 'Zend/Loader.php';
	Zend_Loader::loadClass('RouteRuler');
	require_once 'Zend/Loader/Autoloader.php';
	$autoloader = Zend_Loader_Autoloader::getInstance();
	$autoloader->registerNamespace('Fgsl');
	$autoloader->registerNamespace('Zend');
}

private function _sanitizeData()
{
	Fgsl_Session_Namespace::init('session');
	$filterInput = new Zend_Filter_Input(null,null,$_POST);
	$filterInput->setDefaultEscapeFilter('StripTags');
	Fgsl_Session_Namespace::set('post',$filterInput);
}

 

Application.ini

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.params.displayExceptions = 0
resources.frontController.baseUrl = BASE_URL
resources.layout.layout = "layout"
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.isDefaultTableAdapter = true

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

 

Estou mexendo ainda, ou melhor estudando os comandos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria 2 pequenas modificações:

 

resources.frontController.baseUrl = BASE_URL // remoção desta linha
// estes dados abaixo eu colocaria em uma seção do application.ini
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = ""

 

Então, minha sugestão do application.ini seria:

 

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.params.displayExceptions = 0
resources.layout.layout = "layout"
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost" // deixo aqui para preencher com os dados do host em produção
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.isDefaultTableAdapter = true

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.isDefaultTableAdapter = true

No seu .htaccess, você adiciona:

 

SetEnv APPLICATION_ENV development

 

Onde development é o ambiente em que você está usando. De resto, acredito que você não deva ter problemas.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.