Saya cuba menggunakan Google-Lighthouse di tapak web saya. Saya menulis fail php yang memanggil skrip bash untuk menjalankan rumah api-cli.
run_bash.php:
<?php if(isset($_GET['subject2'])) { $text = $_GET['subject2']; $text = escapeshellarg($text); $command = './rex.sh 2>&1 >> path/mylog ' . $text ; $output = shell_exec($command); echo "<pre>$output</pre>"; } ?>
Skrip bash saya:
rex.sh
#!/bin/bash SITE="" SITE= VALUE=$(echo $SITE | awk -F'//' '{print }') lighthouse $SITE --output html --output-path ./path/$VALUE.html
Terdapat juga borang php mudah dipanggil run_bash.php
.
Persoalannya sekarang ialah:
Jika saya menjalankan skrip bash dalam shell menggunakan Putty, ia berfungsi dengan baik, tetapi apabila memanggil URL saya dan menjalankan run_bash.php
, ralat ini muncul pada penyemak imbas:
Sun, 05 Jun 2022 19:20:59 GMT LH:ChromeLauncher Waiting for browser............................................................................................... Sun, 05 Jun 2022 19:21:00 GMT LH:ChromeLauncher Waiting for browser................................................................................................. Sun, 05 Jun 2022 19:21:00 GMT LH:ChromeLauncher Waiting for browser................................................................................................... Sun, 05 Jun 2022 19:21:01 GMT LH:ChromeLauncher Waiting for browser..................................................................................................... Sun, 05 Jun 2022 19:21:01 GMT LH:ChromeLauncher Waiting for browser....................................................................................................... Sun, 05 Jun 2022 19:21:01 GMT LH:ChromeLauncher:error connect ECONNREFUSED 127.0.0.1:33989 Sun, 05 Jun 2022 19:21:01 GMT LH:ChromeLauncher:error Logging contents of /tmp/lighthouse.dVx18OP/chrome-err.log Unable to connect to Chrome
Saya ingin tahu sama ada sesiapa pernah melakukan ini? Atau adakah ini mungkin?
Sayaakhirnyajumpa jawapannya! Saya terpaksa menggunakan fungsi
exec()
dalam fail php untuk menjalankan skrip bash seperti yang ditunjukkan di bawah.Ada satu lagi perkara penting. Saya akan semua
/var/www/
路径文件的访问级别更改为www-data
.