#php
#php
Вопрос:
Я использую встроенную в php функцию с именем «base64_encode» для отправки закодированных данных в мое приложение. На одном из моих серверов это работает безупречно. На моем втором сервере он выдает:
«Неустранимая ошибка: разрешенный объем памяти 134217728 байт исчерпан (пытался выделить 12298126926392233336 байт)».
Оба сервера работают на Ubuntu 18.04.2 (под управлением MySQL, PHP 7.3.3 и Apache 2).
$credentials = array("Authorization: Basic ".base64_encode($GLOBALS['login'].":".$GLOBALS['password']));
Комментарии:
1. что-то не так на другом вашем сервере. Например, он работает с разными данными, а данные soem искажены или что-то в этом роде. Ошибка, которую вы получаете о распределении памяти, означает, что либо данные очень большие (это нормально?), Либо, возможно, искажены
2. @NikosM. Спасибо за ваш ответ. Ну, я попытался поменять местами переменные с фиксированными данными ($ GLOBALS [‘login’] и $ GLOBALS [‘password’] с соответствующими учетными данными), но это все равно не помогло. Честно говоря, я потратил более 2 часов на эту проблему, и я все еще не могу получить ответ.
3. возможно, ошибка памяти соответствует другой части кода, вы уверены, что это связано с
base64_encode
функцией?4. @NikosM. Да, в сообщении об ошибке указывается строка кода, в которой возникает ошибка. В моем случае это вышеупомянутая строка. Хм, на самом деле это может быть и функция «array», когда я думаю об этом сейчас.