Глобальный не работает в функции PHP 5.5.9 на сервере Ubuntu 14.04

1

Мои глобальные переменные не работают внутри примера функции. Если я сделаю следующее

$a=10;
function myfunction() {
global $a;
echo ($a+5);
}
myfunction();

он ничего не возвращает, но работает так

function myfunction() {
//global $a;
$a=10;
echo ($a+5);
}
myfunction();

весь код находится на одной странице

Вот проблема и что мне нужно сделать, чтобы заставить ее работать

function encryptAndEncode($strIn) {
//global $strEncryptionType
      //,$strEncryptionPassword;
$strEncryptionType="AES";
$strEncryptionPassword="MyPassword";
    //** AES encryption, CBC blocking with PKCS5 padding then HEX encoding - DEFAULT **

    //** use initialization vector (IV) set from $strEncryptionPassword
    $strIV = $strEncryptionPassword;

    //** add PKCS5 padding to the text to be encypted
    $strIn = addPKCS5Padding($strIn);

    //** perform encryption with PHP MCRYPT module
    $strCrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $strEncryptionPassword, $strIn, MCRYPT_MODE_CBC, $strIV);

    //** perform hex encoding and return
    return "@" . strtoupper(bin2hex($strCrypt));

}
  • 0
    Используете ли вы какие-либо рамки?
  • 0
    Нет никаких рамок :)
Показать ещё 11 комментариев
Теги:
function
global

1 ответ

0

Нашел вопрос :) У других может быть эта проблема. Хотя это отдельная страница, она работает внутри wordpress, и код прямо на странице, а не как требование или включение.

Чтобы обойти это, я должен удалить vars, которые установлены на странице, и объявить их в темах functions.php

Кажется, что вы запускаете глобальные переменные внутри всего, что связано с wordpress, независимо от того, является ли оно прямым на странице или включенном файле, все они должны быть предварительно объявлены в функции тем php. :)

  • 0
    Смотрите: stackoverflow.com/q/29970760/3933332 А также попробуйте решение из ответа, было бы интересно посмотреть, будет ли оно таким же.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню