Bug 1036526

Summary: Zend-6.1 app does not load installed dependencies from $OPENSHIFT_DEPENDENCIES_DIR by default
Product: OpenShift Online Reporter: Zhe Wang <zhewang>
Component: ImageAssignee: Vojtech Vitek <vvitek>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 2.xCC: hripps, xtian
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-30 00:51:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Zhe Wang 2013-12-02 09:06:32 UTC
Description of problem:
After installing a package to a zend-6.1 app, the app does not load the installed package by looking up $OPENSHIFT_DEPENDENCIES_DIR by default, causing the packages unusable. Moreover, a user needs to explicitly give the complete absolute path to load the package. On the other hand, there is no such problem for zend-5.6 apps.

Version-Release number of selected component (if applicable):
devenv_4084

How reproducible:
always

Steps to Reproduce:
1. create a zend-6.1 app

2. install a package to this app, for example, Validate-0.8.5 (the latest stable version)
echo "channel://pear.php.net/Validate-0.8.5" > deplist.txt

3. create a test page(dependency.php) under $APP_REPO/php to use the installed pakcage. In this step, we load the package with the relative path of the package.

<------dependency.php---->
<?php

// Here we use the relative path of the package
include "Validate.php";  

if (Validate::number(8.0004, array('decimal' => '.', 'dec_prec' => 4))) {
    echo 'version 1';
} else {
    echo "Invalid number";
}
?>

<------------------------>

4. push the change

5. visit the $APP_DNS/dependency.php page

6. load the package with the absolute path of the installed package:

include $_ENV[OPENSHIFT_DEPENDENCIES_DIR]."/pear/pear/php/Validate.php";

7. push the change and visit the dependency.php page again

Actual results:
In Step 5, it returns error 500 when visiting the test page. However, after loading the installed package with a absolute path, the page is accessible.

Expected results:
Zend-6.1 apps should look up installed packages from $OPENSHIFT_DEPENDENCIES_DIR by default.

Additional info:

Comment 1 Vojtech Vitek 2013-12-04 18:32:10 UTC
https://github.com/openshift/li/pull/2209

Comment 3 Zhe Wang 2013-12-09 03:46:32 UTC
Verified in devenv-stage_604.

The steps are identical to those in the description, and the output is:

[zhe@fedora zend611]$ curl zend611-stg604tst.dev.rhcloud.com/dependency.php
version 1