Как найти память используемой объектом в PHP? (sizeof)

Я хотел, чтобы Git использовал обновленный комплект сертификатов без замены того, который использует вся моя система. Вот как заставить Git использовать определенный файл в моем домашнем каталоге:

mkdir ~/certs
curl http://curl.haxx.se/ca/cacert.pem -o ~/certs/cacert.pem

Теперь обновите .gitconfig, чтобы использовать его для проверки в одноранговом режиме:

[http]
sslCAinfo = /home/radium/certs/cacert.pem

Примечание. Я использую абсолютный путь. Git здесь не расширяет путь, поэтому вы не можете использовать ~ без уродливого кладжа. Кроме того, вы можете пропустить файл конфигурации и установить путь через переменную окружения GIT_SSL_CAINFO.

Чтобы устранить эту проблему, установите GIT_CURL_VERBOSE=1. Путь к файлу CA, который использует Git, будет показан в строках, начинающихся с «CAfile:».

30
задан erotsppa 2 July 2009 в 16:38
поделиться

3 ответа

Вы можете использовать memory_get_usage () .

Запустите его один раз перед созданием объекта, затем еще раз после создания объекта и оцените разницу между двумя результатами.

45
ответ дан 27 November 2019 в 23:45
поделиться

Я не знаю, есть ли простой способ получить размер объекта в PHP. Возможно, вам просто придется сделать алгоритм, который

  1. Подсчитывает целые числа
  2. Умножает число целых чисел на размер целого числа на жестком диске
  3. Преобразует символы в строках в ASCII и
  4. Умножает значения ASCII на сколько они записываются на диск

Я уверен, что есть способ лучше, но он сработает, даже если это будет неприятно.

-6
ответ дан 27 November 2019 в 23:45
поделиться

Чтобы получить представление о размере объектов, попробуйте

strlen(serialize($object));

Это отнюдь не точный, но простой способ получить число для сравнения.

12
ответ дан 27 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: