Bagaimana cara mengatur crontab menggunakan php?

saya perlu mengatur crontab dari skrip php. saya tahu itu bisa diatur

system("echo '* * * * * echo \"Hello world\"' >> cron.crontab"); system("crontab cron.crontab"); //cron.crontab is the file name of the crontab

File "cron.crontab" dibuat di direktori root, tetapi crontab tidak berfungsi seperti yang diharapkan! ketika saya mencoba perintah berikut, dikatakan bahwa tidak ada crontab yang disetel!

crontab -l

menurutku aku melewatkan sesuatu. saya menggunakan kerangka Yii. apakah ada ekstensi untuk menangani cron dalam kerangka yii? apakah ada cara lain untuk melakukannya? Tolong bantu aku. Terima kasih.


person brainless    schedule 19.02.2011    source sumber
comment
kemungkinan duplikat Gunakan PHP untuk membuat, mengedit, dan menghapus pekerjaan crontab?   -  person Sebastian Paaske Tørholm    schedule 19.02.2011
comment
Bukan duplikat. Pertanyaannya melibatkan kode dari jawaban yang diterima di sana, yang sepertinya tidak berfungsi.   -  person cHao    schedule 19.02.2011
comment
Pertanyaannya sedikit berbeda, tetapi jawaban untuk pertanyaan ini adalah kalimat terakhir dari jawaban yang diterima dalam pertanyaan yang ditautkan.   -  person Bertrand Marron    schedule 19.02.2011


Jawaban (3)


Apakah Anda menjalankan crontab -l sebagai pengguna yang sama dengan server web yang dijalankan? Jika tidak, Anda tidak akan melihat cronjob-nya.

person troelskn    schedule 19.02.2011

Apache umumnya tidak akan bisa menyia-nyiakan crontab utama. Namun, setiap pengguna juga memiliki crontab, dan kemungkinan besar kode Anda di atas menyetel crontab apache (atau crontab untuk pengguna mana pun yang menjalankan situs Anda).

Coba crontab -u apache -l, atau ganti apache dengan pengguna apa pun yang digunakan situs Anda, dan lihat apakah entri yang Anda tetapkan ada di sana.

person cHao    schedule 19.02.2011

Biasanya Anda harus menjadi root untuk mengatur crontab, dan tidak seperti php yang berjalan sebagai root, dalam hal ini Anda kurang beruntung.

Sunting: Tidak sepenuhnya beruntung. Lihat tautan di komentar Sebastian di atas.

person awm    schedule 19.02.2011
comment
PHP berjalan sebagai pengguna di server...dan sebagai pengguna, kemungkinan besar PHP memiliki crontab yang dapat diatur sendiri. Namun pekerjaan tersebut akan dijalankan sebagai pengguna situs web/server, yang mungkin memiliki akses yang cukup atau tidak untuk menyelesaikan pekerjaan. - person cHao; 19.02.2011
comment
Kamu benar. Terimakasih atas klarifikasinya. - person awm; 19.02.2011