<?PHP echo "test"; ?>
编辑一篇名为test and upload file /tmp/testme.PHP的新帖子,用url http://home.local/wp/?p = 4785发布.
我想看看testme中的内容,点击它,在wordpress中弹出新窗口.
继续点击它.网页上显示的测试结果.
我的期望:
1.只需在测试帖中点击testme一次.
2.将testme.PHP显示为纯文本,
<?PHP echo "test"; ?>
而不是执行testme.PHP的结果.
test
我根据一些材料显示配置PHP文件作为apache中的纯文本.
sudo vim /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80> ServerName www.home.local ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All allow from all PHP_flag engine off AddType text/plain PHP </Directory> </VirtualHost>
重启apache2(在debian中构建).
sudo systemctl restart apache2
要打开帖子http://home.local/wp/?p = 4785,我在网页上得到以下输出:
<?PHP /** * Front to the wordpress application. This file doesn't do anything,but loads * wp-blog-header.PHP which does and tells wordpress to load the theme. * * @package wordpress */ /** * Tells wordpress to load the wordpress theme and output it. * * @var bool */ define('WP_USE_THEMES',true); /** Loads the wordpress Environment and Template */ require( dirname( __FILE__ ) . '/wp-blog-header.PHP' );
但假设如下:
>您在/ var / www / html目录中安装了wordpress.
> PHP文件上传到wordpress中的默认上传文件夹(wp-content / uploads).
如果将目录设置为/ var / www / html / wp-content / uploads,如下所示:
<Directory /var/www/html/wp-content/uploads> AddType text/plain PHP </Directory>
你会得到你想要的结果 – 只有uploads文件夹中的PHP文件将被视为纯文本文件,而不是/ var / www / html目录中的所有PHP文件.这解释了“要打开帖子http://home.local/wp/?p = 4785,我得到以下输出”的问题,其中输出是文件/ var / www / html / index中的代码. PHP.我的意思是,你使用< Directory / var / www / html>,这使得Apache将index.PHP文件视为纯文本文件,而不是在文件中执行PHP代码.
特别是如果您无法编辑或无法访问Apache的配置(.conf)文件.
>在uploads文件夹中创建.htaccess,如果它还没有.
>然后在该文件中添加AddType text / plain PHP.
补充说明
I want to see the content in
testme.PHP
,click it,pop up new window
我确信你可以做到这一点或者已经拥有代码/解决方案,但是一个简单的方法,就是将target =“_ blank”添加到附件/文件链接..或者使用JavaScript,你可以使用window.open()
.