Sunucu web sayfalarına bir Apache modülü olarak çalışan PHP memory_limit
için yapılandırma makinede aynı anda olabilir kaç Apache süreci dikkate almak zorunda - bakın {[(1)] Apache için} yapılandırma seçeneği.
MaxClients
100 ve 2000 MB RAM ya da varsa, çok hızlı bir hesaplama, (fazla 20 MB * kullanmak gerektiğini gösterecektir çünkü 20 MB * 100 istemcileri toplam ie = 2 GB RAM veya, sunucu olan bellek miktarı) * memory_limit değer.
Ve bu ... MySQL, sistemin kendisi gibi aynı sunucu üzerinde çalışan diğer şeyler, ki muhtemelen dikkate almadan Ve Apache zaten kendisi için bazı bellek kullanıyor olmasıdır.
Yoksa ki, bu da her bir PHP sayfası olabildiğince maksimum bellek miktarını kullanarak düşünen bir "en kötü durum senaryosu" olduğunu.
In your case, if you need such a big amount of memory for only one job, I would not increase the memory_limit
for PḦP running as an Apache module.
Bunun yerine, komut satırından (or via a cron job) o işi başlatmak istiyorum, ve bu ilk ve tek durumda specificaly yüksek memory_limit
belirtin.
Bu gibi php -d
seçeneği ile yapılabilir:
$ php -d memory_limit=1GB temp.php
string(3) "1GB"
Bu durumda, göz önüne alındığında, bu temp.php sadece içerir:
var_dump(ini_get('memory_limit'));
Benim görüşüme göre, bu Apache için PHP modülü için memory_limit artan yol daha güvenli - ve ben büyük bir veri kümesi varsa ben genellikle ne, ya da gerçekten ağır şeyler ben optimize veya paginate olamaz.
If you need to define several values for the PHP CLI execution, you can also tell it to use another configuration file, instead of the default php.ini, with the -c
option :
php -c /etc/phpcli.ini temp.php
Bu şekilde, var:
/etc/php.ini
düşük memory_limit
, düşük Apachenin için, max_execution_time
, ...
- ve
/etc/phpcli.ini
neredeyse sınırı yok ile komut satırından, çalıştırmak gruplar için
Bu toplu çalıştırmak mümkün olacak sağlar - ve hala (memory_limit
ve max_execution_time
güvenlik önlemleri olmak) web siteniz için güvenlik olacak
Still, if you have the time to optimize your script, you should ; for instance, in that kind of situation where you have to deal with lots of data, pagination is a must-have ;-)