Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan had masa dalam php

Bagaimana untuk melaksanakan had masa dalam php

Oct 29, 2021 am 09:44 AM
php

Cara melaksanakan had masa dalam PHP: 1. Biarkan program dijalankan tanpa had melalui "set_time_limit(0)";

Bagaimana untuk melaksanakan had masa dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara melaksanakan had masa dalam php?

Lima cara untuk melaksanakan tugas berjadual dalam PHP

Dalam beberapa hari lalu, saya perlu menggunakan PHP untuk menulis aplikasi pelayan yang kerap merangkak halaman web . Saya mencari penyelesaian di Internet dan menemui beberapa penyelesaian, yang diringkaskan seperti berikut.

Tugas berjalan berjadual ialah tugas yang agak penting untuk tapak web, seperti kerap menerbitkan dokumen, kerap membersihkan maklumat sampah, dll. Kebanyakan tapak web hari ini menggunakan bahasa dinamik PHP Dibangunkan, pelaksanaannya PHP menentukan bahawa ia tidak mempunyai konsep AppServer seperti Java dan .Net, dan protokol http ialah protokol tanpa kewarganegaraan PHP hanya boleh dicetuskan dan dipanggil oleh pengguna, ia akan keluar dari memori secara automatik. Tiada Residen dalam ingatan.

Jika anda perlu menggunakan PHP untuk melaksanakan tugas berjadual, anda boleh mendapatkan penyelesaian berikut:

1 jenis ringkas, langsung dan melulu

<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set(&#39;memory_limit&#39;,&#39;512M&#39;); // 设置内存限制
$interval=60*30;// 每隔半小时运行
do{
  //ToDo 
  sleep($interval);// 等待5分钟
}
while(true);
Salin selepas log masuk

Kelemahan: Selepas. permulaan, Ia adalah mustahil untuk dikawal melainkan anda menamatkan hos PHP Jangan gunakan kaedah ini melainkan anda seorang penggodam.

2. >

cron.php

<?php
return 1;
?>
Salin selepas log masuk

Hentikan program dengan menukar pulangan 0 konfigurasi .php. A Cara yang boleh dilaksanakan ialah berinteraksi dengan fail config.php dan borang khas, dan menetapkan beberapa pembolehubah melalui halaman HTML untuk konfigurasi

Kelemahan: Ia mengambil sumber sistem, berjalan untuk masa yang lama , dan boleh menyebabkan beberapa bahaya tersembunyi yang tidak dijangka. Contohnya, isu pengurusan memori.
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
  $run = include &#39;config.php&#39;;
  if(!$run) die(&#39;process abort&#39;);
   
  //ToDo
  sleep($interval);// 等待5分钟
}
while(true);
Salin selepas log masuk

3. Versi mudah yang dipertingkatkan

Skrip php terus dilaksanakan dengan mengakses dirinya sendiri selepas satu tempoh masa. . Dengan cara ini Ia boleh memastikan bahawa masa pelaksanaan setiap skrip PHP tidak akan dihadkan oleh time_out

Oleh kerana setiap kitaran fail php dilaksanakan secara bebas, kaedah ini mengelakkan pengehadan. time_out . Tetapi sebaiknya tambahkan kod kawalan .cofig.php seperti di atas, supaya proses itu boleh ditamatkan.
<?php
$time=15;
$url="http://".$_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;REQUEST_URI&#39;];
/*
  function
*/
sleep($time);
file_get_contents($url);
?>
Salin selepas log masuk

4 Tugas berjadual pelayan

Platform Unix

Jika anda menggunakan sistem Unix, anda perlu menambah baris kod khas pada permulaan skrip PHP anda untuk membolehkan ia dilaksanakan, supaya sistem mengetahui jenis atur cara yang akan digunakan untuk menjalankan skrip. Baris pertama kod yang ditambahkan untuk sistem Unix tidak akan menjejaskan perjalanan skrip di bawah Windows, jadi anda juga boleh menggunakan kaedah ini untuk menulis skrip merentas platform.

1. Gunakan PHP untuk melaksanakan skrip dalam Crontab

Sama seperti memanggil skrip shell biasa dalam Crontab (penggunaan Crontab khusus), gunakan program PHP untuk memanggil skrip PHP dan melaksanakannya setiap kali jam myscript.php adalah seperti berikut:

/usr/local/bin/php ialah laluan program PHP.

2. Gunakan URL untuk melaksanakan skrip dalam Crontab
# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php
Salin selepas log masuk

Jika skrip PHP anda boleh dicetuskan oleh URL, anda boleh menggunakan lynx atau curl atau wget untuk mengkonfigurasi Crontab anda.

Contoh berikut menggunakan pelayar teks Lynx untuk mengakses URL untuk melaksanakan skrip PHP setiap jam. Pelayar teks Lynx menggunakan mod perbualan untuk membuka URL secara lalai. Walau bagaimanapun, seperti yang ditunjukkan di bawah, kami menggunakan pilihan -dump pada baris arahan lynx untuk menukar output URL kepada output standard.

Contoh berikut menggunakan CURL untuk mengakses URL untuk melaksanakan skrip PHP setiap 5 minit. Curl memaparkan output pada output standard secara lalai. Menggunakan pilihan "curl -o", anda juga boleh membuang output skrip ke fail sementara temp.txt.

00 * * * * lynx -dump http://www.sf.net/myscript.php
Salin selepas log masuk
Contoh berikut menggunakan WGET untuk mengakses URL untuk melaksanakan skrip PHP setiap 10 minit. Pilihan -q menunjukkan mod senyap. "-O temp.txt" bermaksud output akan dihantar ke fail sementara.

*/5 * * * * /usr/bin/curl -o temp.txt http://www.sf.net/myscript.php
Salin selepas log masuk
5. Penjelasan terperinci tentang penggunaan fungsi ini_set

PHP ini_set digunakan untuk menetapkan nilai php.ini, yang berkuat kuasa apabila fungsi itu dilaksanakan. tetapan menjadi tidak sah. Anda boleh mengubah suai konfigurasi tanpa membuka fail php.ini, yang sangat mudah untuk ruang maya.
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.sf.net/myscript.php
Salin selepas log masuk

Format fungsi:

Tidak semua parameter boleh dikonfigurasikan, anda boleh melihat senarai dalam manual.

Tetapan biasa:
string ini_set(string $varname, string $newvalue)
Salin selepas log masuk

menory_limit: Tetapkan bilangan maksimum bait memori yang boleh digunakan oleh skrip, yang membantu skrip yang ditulis dengan buruk menggunakan memori yang tersedia pada Memori pelayan. Simbol @ bermaksud tiada ralat dikeluarkan.

@ ini_set(&#39;memory_limit&#39;, &#39;64M&#39;);
Salin selepas log masuk
display_errors: Tetapkan kategori mesej ralat.

@ini_set(&#39;display_errors&#39;, 1);
Salin selepas log masuk
session.auto_start: Sama ada untuk membuka pemprosesan sesi secara automatik Apabila ditetapkan kepada 1, anda tidak perlu membuka sesi secara manual dengan session_start() Anda juga boleh menggunakan sesi >

Jika parameter ialah 0, Jika sesi tidak dibuka secara manual, ralat akan dilaporkan.

@ini_set(&#39;session.auto_start&#39;, 0);
Salin selepas log masuk

session.cache_expire: Menentukan tarikh tamat tempoh (minit) halaman sesi dalam cache klien. Lalai ialah 180 minit. Jika session.cache_limiter=nocache ditetapkan, tetapan di sini adalah tidak sah.

session.use_cookies: sama ada hendak menggunakan kuki untuk menyimpan ID sesi pada klien
@ini_set(&#39;session.cache_expire&#39;, 180);
Salin selepas log masuk

session.use_trans_sid: sama ada hendak menggunakan kod jelas untuk memaparkan SID (sesi; ID) dalam URL,
@ini_set(&#39;session.use_cookies&#39;, 1);
Salin selepas log masuk

Ia dilumpuhkan secara lalai kerana ia akan membawa risiko keselamatan kepada pengguna anda:

Pengguna boleh memberitahu orang lain URL yang mengandungi sid yang sah melalui e-mel/irc/QQ/MSN, dsb.

URL yang mengandungi sid yang sah boleh disimpan pada komputer awam.

Pengguna boleh menyimpan URL dengan SID tetap dalam sejarah kegemaran atau penyemakan imbas mereka. Pengurusan sesi berasaskan URL sentiasa membawa lebih banyak risiko daripada pengurusan sesi berasaskan kuki dan harus dilumpuhkan.

Tugas berjadual PHP adalah perkara yang sangat menarik di atas adalah beberapa penyelesaian yang disediakan dalam artikel ini. Anda juga boleh membangunkan penyelesaian anda sendiri melalui idea artikel ini. Semoga dapat membantu semua yang memerlukan.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan had masa dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles