Этот фрагмент работал в php5.6, но не в php7.
mp3: <script language = "php"> echo "\"" . $MP3FILE . "\"";</script>
Ошибка: Uncaught SyntaxError: Неожиданный токен < (Я подтвердил, что php7 работает и обрабатывает файлы php на моем сервере.)
Сайт: DNSpanishEnglish.php где он работает под php5.6. Вот все заявление, просто для контекста.
$(document).ready(function(){
$("#jQ_jP").jPlayer( {
ready: function () {
$(this).jPlayer("setMedia", {
mp3: <script language = "php"> echo "\"" . $MP3FILE . "\"";</script>
// Defines the mp3 url
});
startingTime = 45;
//endingTime = $(this).jPlayer("status", "duration");
//myAlert( " endingTime is " + endingTime);
$(this).jPlayer("play", 45); // THIS WORKS!!!!!
//$(this).jPlayer("play").jPlayer("stop").jPlayer("playHead", ).jPlayer.status.currentTime);
//$(this).jPlayer("playHead", {time: 50});
//$(this).jPlayer("play" , { time: 45 }); // works (required for auto-play), but the time args doesnt work.
// $(this).jPlayer("playHeadTime" , { time: 45000 });
$("#jQ_jP").bind($.jPlayer.event.play, function(event) {
// Add a listener to report the time play began
//myAlert("HELLO from jplayer_1" +
//"Play began at time = " +
// event.jPlayer.status.currentTime
//); // OK, this is happening.
//$("#jQ_jP").playHead(50); //doesnt work.
$("#jQ_jP").playHeadTime(45000);
// milliseconds. doesnt work.
});
$("#jQ_jP").playHeadTime(5000); // doesnt work.
} // End of "ready". No semicolon here!
});
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Определите свою переменную в другом месте php, и вы можете использовать ее в этом скрипте.
PHP
$MP3FILE = <?php echo $MP3fileLink ?>
JS
$(document).ready(function(){
$("#jQ_jP").jPlayer( {
ready: function () {
$(this).jPlayer("setMedia", {
mp3: $MP3FILE
// Defines the mp3 url
});
startingTime = 45;
//endingTime = $(this).jPlayer("status", "duration");
//myAlert( " endingTime is " + endingTime);
$(this).jPlayer("play", 45); // THIS WORKS!!!!!
//$(this).jPlayer("play").jPlayer("stop").jPlayer("playHead", ).jPlayer.status.currentTime);
//$(this).jPlayer("playHead", {time: 50});
//$(this).jPlayer("play" , { time: 45 }); // works (required for auto-play), but the time args doesnt work.
// $(this).jPlayer("playHeadTime" , { time: 45000 });
$("#jQ_jP").bind($.jPlayer.event.play, function(event) {
// Add a listener to report the time play began
//myAlert("HELLO from jplayer_1" +
//"Play began at time = " +
// event.jPlayer.status.currentTime
//); // OK, this is happening.
//$("#jQ_jP").playHead(50); //doesnt work.
$("#jQ_jP").playHeadTime(45000);
// milliseconds. doesnt work.
});
$("#jQ_jP").playHeadTime(5000); // doesnt work.
} // End of "ready". No semicolon here!
});
});
Это произойдет из-за того, что в новой версии PHP7 эти теги не поддерживаются. вы можете использовать стандартные теги вместо них, например или.
Надеюсь, что это поможет вам.

Спасибо! Это работает. Я написал себе записку от 2011, что <? не работает, только <? php. Я не знаю, что это все еще правда.
Почему
<script language = "php">? Почему не<?php? Или даже лучше,<?=.