2015-11-18 2 views
1

Host: Amazon Web ServicesPHP Фатальная ошибка: Вызов неопределенной функции apache_getenv()

Domain: Godaddy

SSL: Godaddy

Framework: Laravel 4.2

PHP: PHP5.6

Apache: Apache 2.4.16

File located: /var/www/html/test

Мой код:

$api_request = 'https://'.apache_getenv("HTTP_HOST") . apache_getenv("REQUEST_URI"); 

Ошибка: PHP Фатальная ошибка: Вызов неопределенной функции apache_getenv()

Это выглядит как Безразлично» t существует.

Приложение Laravel Расположено по адресу: html. Затем еще две папки с laravel: test и live.

  • HTML/(Laravel приложение целевой страницы)
    • приложение/
    • самозагрузки/
    • пакеты/
    • общественности/
    • поставщика/
    • тест/(Laravel приложение)
    • в прямом эфире/(приложение Laravel)
    • index.php

Он работает должным образом в HTML приложении. но в тестовом приложении функция больше не существует.

+0

Ваш [Сервер API] (http://stackoverflow.com/questions/16414054/find-out-how-php-is-running-on-server-cgi-or-fastcgi-or-mod-php) обработчик Apache? –

+0

@ ÁlvaroGonzález 'API сервера'' Apache 2.0 Handler' –

+0

Что не так с использованием '$ _SERVER'? –

ответ

1

Похоже apache_getenv отключен в вашем php.ini

Включить его

Редактировать php.ini (по умолчанию) /etc/php.ini

Удалить apache_getenv из disable_functions секции

сохранить и выхода ,

перезапустить apache/php обработчик.

+0

какое слово следует искать в php.ini? –

+0

Я нашел его, но его пустые 'disable_functions =' –

+0

Нечего было стирать. –

0

Можете ли вы попробовать

$_SERVER['HTTP_HOST'] and $_SERVER['REQUEST_URI'] 

На месте apache_getenv несколько раз APACHE не позволяет получить доступ к функциям без активации модуля.

Надеюсь, это вам поможет.

+0

Я пробовал. Дает мне ошибку неопределенного индекса 'HTTP_HOST' –

+0

проверить мой ответ с последующим вопросом. это может помочь многим людям. –

+0

@MarlonBuendia. Серьезно, все симптомы говорят о том, что вы используете PHP из командной строки, а не через веб-сервер. –