Развертывание скелетного приложения Zend на сервере openshift

Я успешно развернул скелет приложения на сервере openshift paas. Используя Git, я помещаю свой код в папку /php.

И теперь я могу получить доступ к приложению по URL-адресу: => http://zend-application.rhcloud.com/public/

В локальном я создал виртуальный хост:

<VirtualHost *:80>
    ServerName zend.localhost
    DocumentRoot C:/wamp/www/zend/public
    SetEnv APPLICATION_ENV "development"
    <Directory C:/wamp/www/zend/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Можно ли создать аналогичный виртуальный хост на сервере openshift и получить доступ к приложению с базовым URL-адресом: => http://zend-application.rhcloud.com/ (без */public/)

Большое спасибо! Сед.


person Ced YahooB    schedule 13.08.2013    source источник
comment
Можете ли вы помочь мне понять шаги, которые вы используете для создания своего приложения? Я не смог воспроизвести это, создав приложение zend с помощью «rhc app create zendtest zend-5.6». Мой пример приложения показан здесь: zendtest-macdomain.rhcloud.com   -  person Nam Duong    schedule 17.08.2013
comment
Существуют и другие способы развертывания вашего приложения с помощью zendserver и zend studio: openshift.com/blogs/getting-started-with-zend-and-openshift   -  person Nam Duong    schedule 17.08.2013
comment
Здравствуйте, я еще не использовал команду RHC.   -  person Ced YahooB    schedule 20.08.2013
comment
Я следую руководству по началу работы, о котором вы говорили. Но моя первая проблема заключается в том, что мне нужно указать такой URL-адрес: http://{appName}-{namespace}.rhcloud.com/{project-name}   -  person Ced YahooB    schedule 20.08.2013
comment
Это работает нормально, даже если я использую не Zend Studio, а Eclipse PDT. Итак, мой вопрос может заключаться в том, как удалить /{project-name} для доступа к API в URL-адресе?   -  person Ced YahooB    schedule 20.08.2013


Ответы (2)


Скопируйте содержимое public в сам каталог php. и убедитесь, что ваш файл .htaccess похож на код, приведенный ниже:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

И измените путь к приложению в файле index.php, как показано ниже:

// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));

Тогда это будет работать правильно. Это сработало для меня на Моем сайте.

person Savan Koradia    schedule 24.08.2013

Создайте символическую ссылку для вашей общей папки zf и назовите ее php:

Из каталога вашего проекта
сначала удалите папку php (если она существует)
затем ln -s public/ php
затем просто отправьте свой код с помощью инструмента rhc

Это должно сделать ваш проект видимым @ http://zend-application.rhcloud.com/

person Bba    schedule 28.08.2013
comment
Хорошая идея... Попробую, когда будет время! Спасибо. - person Ced YahooB; 06.09.2013