Soalan: Bolehkah skrip atau fungsi PHP dilaksanakan apabila rekod dimasukkan ke dalam MySQL jadual pangkalan data, walaupun prosedur penyisipan rekod tidak berada di bawah kawalan pengguna? Adakah terdapat mekanisme pencetus yang boleh menyebabkan perkara ini berlaku?
Jawapan:
Dalam senario ini, pencetus dilaksanakan pada pelayan MySQL, bukan pelayan PHP. Oleh itu, adalah tidak mungkin untuk menggunakan skrip PHP secara langsung.
Walau bagaimanapun, menurut Soalan Lazim MySQL mengenai Pencetus, pencetus boleh memanggil aplikasi luaran melalui UDF (Fungsi Ditentukan Pengguna).
Secara khusus , pencetus boleh memanfaatkan sys_exec() UDF. Fungsi ini membenarkan pelaksanaan perintah luaran, termasuk skrip PHP.
Pelaksanaan:
Walaupun prosesnya tidak mudah, adalah mungkin untuk menyediakan UDF untuk melancarkan PHP boleh laku atau skrip. Ini memerlukan:
Dengan menggunakan sys_exec() UDF, pencetus boleh memanggil luaran program, menyediakan penyelesaian yang berpotensi untuk menggunakan skrip PHP apabila rekod pangkalan data dimasukkan.
Atas ialah kandungan terperinci Bolehkah Pemicu MySQL Melaksanakan Skrip PHP Luaran Selepas Penyisipan Rekod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!