Мне нужно выполнить один php-файл через командную строку в моем linux-докере, и я могу выполнить его, но проблема в том, что код js, написанный в том же файле, не выполняется, и я не могу достичь желаемой функциональности. Поэтому, пожалуйста, направьте меня в правильном направлении.
Вы должны использовать exec
или же passthru
и выполнить JS с Узел в PHP, чтобы запустить интерпретатор JS …
Я только что запустил этот тест из командной строки Mac
# Made a directory to test in
$ mkdir jsphptest && cd jsphptest
# made a test php file
$ touch test.php
# put some PHP code in the PHP file that tells it to run a javascript file
$ echo '<?php passthru("node test.js"); ?>' > test.php
# create the above references js file
$ touch test.js
# Put some JS code in the new JS file that logs some stuff into the console
$ echo 'console.log("this is javascript");' > test.js
# run the php file
$ php test.php
#outputs: this is javascript
Javascript — это клиентский язык, поэтому вы не можете выполнить его таким образом.
Javascript выполняется браузером
Если вы настаиваете, чтобы выполнить его. Посмотрите на эту ссылку
Как запустить скрипт JavaScript через Терминал?