View Issue Details

IDProjectCategoryView StatusLast Update
14642Bug reports[All Projects] Statisticspublic2019-03-26 09:37
Reporterfoobar1234 Assigned To 
PrioritynoneSeverityminor 
Status newResolutionopen 
Product Version3.15.x 
Target VersionFixed in Version 
Summary14642: Excel export not working (error 500)
Description

Issue 14324 was closed as a "server configuration problem" (I could not comment there). This is not fully true. We have this problem, too. We can on our host not simply randomly change PHP setiings as this would break big setups of TYPO3, Piwik and other installations running on the same server under several hundred domains (plus subdomains).

Not all LimeSurvey installations are running on a dedicated "LimeServer root server" with a dedicated domain.

In the other ticket it's also stated that LimeSurvey does not use any "external" (relative to the LimeSurvey directory) packages. then I wonder why the include_path is of any relevance here at all!? If the Excel export works just "out-of-the-LimeSurvey-box" than still requiring specific include_path is a bug.

Adjusting the server configuration or using set_include_path('.') (what we used) can be seen as a setup-sepcific workaround, but not as a fix to the underlaying problem of LimeSurvey.

If LimeSurvey would require it's PHP dependencies cleanly via composer, use proper/centralised autoloading and wouldn't have harcoded system paths in its code base this issue would be solved with server configuration.

Steps To Reproduce

Export statistics to Excel.

TagsNo tags attached.
Complete LimeSurvey version number (& build)3.16.0+190225
I will donate to the project if issue is resolvedNo
Browser
Database & DB-VersionMySQL 5.6
Server OS (if known)
Webserver software & version (if known)
PHP Version7.2.3

Activities

foobar1234

foobar1234

2019-03-13 10:50

reporter   ~50943

Sorry, last senctence should end with "...solved WITHOUT server configuration."

foobar1234

foobar1234

2019-03-26 08:29

reporter   ~51122

Putting <code php>set_include_path('.');</code> in config.php like suggested in 14324 breaks the command line interface! So this can not be considered a fix at all, not even a local hotfix.

DenisChenu

DenisChenu

2019-03-26 09:35

developer   ~51124

Last edited: 2019-03-26 09:37

View 2 revisions

If the error is about + open_base_dir : it was a server issue :
Your include_path MUST not include something that are not in open_base_dir : YOUR server admin say:

  • When you must get a file : get in /usr/share/php
  • If you try to read /usr/share/php : break and show an error

It's YOUR issue …

My current fix for such SERVER issue in limesurvey are

if(!defined('YII_PATH')) {
    $tmpdir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
    set_include_path('.');
    ini_set('open_basedir',$tmpdir.PATH_SEPARATOR.dirname(dirname(dirname(__FILE__))));
}

But : if YOUR server admin disable usage of set_include_path … and ini_set : change your server admin : it's a dumb …

[EDIT]

In the other ticket it's also stated that LimeSurvey does not use any "external" (relative to the LimeSurvey directory) packages. then I wonder why the include_path is of any relevance here at all!?

Because it's NOT limesurvey include path : you can choose to use another lib here … the auto loader is done for this .

Issue History

Date Modified Username Field Change
2019-03-13 10:46 foobar1234 New Issue
2019-03-13 10:50 foobar1234 Note Added: 50943
2019-03-26 08:29 foobar1234 Note Added: 51122
2019-03-26 09:35 DenisChenu Note Added: 51124
2019-03-26 09:37 DenisChenu Note Edited: 51124 View Revisions