Почему функция base64_encode выдает ошибку только на одном из моих серверов?

#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», когда я думаю об этом сейчас.