Tinymce 在使用 require 或包含在 php 文件中时无法使用 php

问题描述 投票:0回答:1

mydb_config.php

<?php
$servername = "localhost";
$username = "my_username";
$password = "my_passowrd";

try {
  $my_all_db_connect = new PDO("mysql:host=$servername;dbname=my_all_db", $username, $password,array(
    PDO::ATTR_PERSISTENT => true));
  // set the PDO error mode to exception
  $my_all_db_connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} 
catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
  die();
}
?>

my_tinymce_form.php

<?php include 'mydb_config.php'; ?>
<head>
<script src="https://cdn.tiny.cloud/1/1pmtcs7gc1zvrc5fqwz5vbloi3cjpbvu85a0y1f49bc4s5v0/tinymce/7/tinymce.min.js" referrerpolicy="origin"></script>

<script>
  tinymce.init({
    selector: 'textarea',
    plugins: 'anchor autolink charmap codesample emoticons image link lists media searchreplace table visualblocks wordcount checklist mediaembed casechange export formatpainter pageembed linkchecker a11ychecker tinymcespellchecker permanentpen powerpaste advtable advcode editimage advtemplate ai mentions tinycomments tableofcontents footnotes mergetags autocorrect typography inlinecss markdown',
    toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat',
    tinycomments_mode: 'embedded',
    tinycomments_author: 'Author name',

  automatic_uploads: true,
  images_upload_url: 'extra_scripts/tinymce_image_uploader.php',
  images_reuse_filename: true,

    mergetags_list: [
      { value: 'First.Name', title: 'First Name' },
      { value: 'Email', title: 'Email' },
    ],
    ai_request: (request, respondWith) => respondWith.string(() => Promise.reject("See docs to implement AI Assistant")),
  });

  tinymce.activeEditor.uploadImages().then(() => {
  document.forms[0].submit();
});
</script>
</head>

<body>
<textarea class="form-control" id="textarea" style="height: 150px;" name="textarea"></textarea>
</body>

如果我删除第一行,Tinymce 就可以正常工作。 “包含‘mydb_config.php’;”。同时,如果我将“mydb_config.php”文件代码直接放入“my_tinymce_form.php”中,它就可以正常工作。但使用“include 'mydb_config.php';”时,tinymce 无法工作。任何人都可以帮我找出这背后的原因。在这种情况下包含有什么问题。

php tinymce
1个回答
0
投票

您没有为 include 函数提供绝对文件位置,因此 PHP 将在 include_path php.ini 设置中查找文件,然后在与包含调用的脚本相同的目录中查找文件。如果脚本位于不同的目录中,则将找不到包含的文件。

你可以尝试一些

trigger_error()
的说法 在你的
catch
就在您的
include
之后 然后检查 php.ini 中的 error_log 设置指定的 php 错误文件

__DIR__
预定义常量可以帮助您在代码中构建绝对文件路径。

此外,您的问题将您的 TinyMCE 密钥暴露给此处的其他开发人员 - 因此您应该设置您的帐户来检查调用域。

© www.soinside.com 2019 - 2024. All rights reserved.