问题是您混淆了客户端(JS)和服务器(PHP)。PHP 在服务器上执行并生成一些 HTML,这些 HTML 被发送到浏览器(“客户端”)。浏览器无法运行 PHP,因为它是一种服务器端语言。
您应该在这里评估客户端和服务器之间所需的交互。例如,如果你只需要执行一些 PHP 来将数据传递给 JavaScript,你可以构建一个 JavaScript 对象:
<script type="text/javascript">
<?php // include script that gives you back some data, e.g.: ?>
<?php $somePhpData = array('red', 'yellow', 'blue'); ?>
<?php $jsonData = json_encode($somePhpData); ?>
var dataFromPhpScript = <?php echo $jsonData; ?>
// do something with the data
</script>
否则,如果您确实需要 JavaScript 来触发 PHP 脚本运行,那么您实际上是在执行 AJAX。您可能需要某种 REST API。这个想法是您从 PHP 中公开一个 JavaScript 可以调用的 URL:
<script type="text/javascript">
jQuery(document).ready(function() {
function startScript(scriptName, success) {
$.get('/path/StartScript.php?script-name=' + scriptName)
.done(success)
.fail(fail);
}
startScript('name-of-php-script', function(data) {
// trigger some JavaScript that relies on the output of the PHP script
});
});
</script>