如何启用PHP短标记?

如何启用PHP短标记?,php,tags,php-shorttags,Php,Tags,Php Shorttags,我在Linux服务器上有一个web应用程序,它以集开始 在 然后重新启动Apache服务器。您需要打开short\u open\u标记 short_open_tag = On 这可以通过在php.ini中启用来实现: short_open_tag = on 如果您没有访问php.ini的权限,您可以尝试通过.htaccess文件启用它们,但如果您使用共享主机,主机公司可能会禁用此功能: php_value short_open_tag 1 对于那些认为short_open_标记是不好的做法

我在Linux服务器上有一个web应用程序,它以
集开始


然后重新启动Apache服务器。

您需要打开short\u open\u标记

short_open_tag = On

这可以通过在php.ini中启用来实现:

short_open_tag = on
如果您没有访问php.ini的权限,您可以尝试通过.htaccess文件启用它们,但如果您使用共享主机,主机公司可能会禁用此功能:

php_value short_open_tag 1

对于那些认为short_open_标记是不好的做法的人来说,从php 5.4开始,
shorttag将在任何地方都受支持,无论设置如何,因此如果您可以控制服务器上的设置,就没有理由不使用它们。在这个链接中还提到:

如果编辑php.ini文件,记得重新启动服务(apache2等)要使对php.ini的编辑生效,请在文件
\apache\Apache2.2.21\bin\php.ini
\bin\php\php5.3.8\php.ini
中设置
asp_tags=On
short_open_tag=On
,然后重新启动apache服务器。

对于Wamp服务器用户,有更简单的方法: 您只需(左)单击WampServer图标,选择PHP->PHP设置->short open tag即可启用该设置。等待一秒钟,然后WampServer将自动重新启动PHP及其web服务


最初来自:

简单到如此,请按照以下步骤操作:

  • 转到
    php.ini
    文件
  • 找到
    short\u open\u标签
    并将其设置为
    on

    short_open_tag = On
    
  • 重新启动服务器

  • sudo service apache2 restart
    

    这可以通过在php.ini中启用short_open_标记来实现:

    1.要定位php.ini文件,请在注释行执行

     php --ini
    
    你会得到这样的东西

    Configuration File (php.ini) Path: /etc
    Loaded Configuration File:         /etc/php.ini
    Scan for additional .ini files in: /etc/php.d
    Additional .ini files parsed:      /etc/php.d/curl.ini,
    /etc/php.d/fileinfo.ini,
    /etc/php.d/gd.ini,
    /etc/php.d/json.ini,
    /etc/php.d/mcrypt.ini,
    /etc/php.d/mysql.ini,
    /etc/php.d/mysqli.ini,
    /etc/php.d/pdo.ini,
    /etc/php.d/pdo_mysql.ini,
    /etc/php.d/pdo_sqlite.ini,
    /etc/php.d/phar.ini,
    /etc/php.d/sqlite3.ini,
    /etc/php.d/zip.ini
    
    请参阅注释输出的第二行。文件将位于提到的路径中

    2.打开php.ini文件并找到
    short\u Open\u标记
    。默认情况下,它处于
    关闭状态
    将其更改为
    打开状态

    3.重新启动服务器,执行此注释

    service httpd restart
    
    感谢您在CentOS 6中(也在CentOS 7上测试过)您不能在/etc/php.ini中为php fpm设置短的\u open \u标记。 您将遇到以下错误:

    ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
    ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
    ERROR: failed to load configuration file '/etc/php-fpm.conf'
    ERROR: FPM initialization failed
    
    您必须编辑站点的配置,可以在/etc/php-fpm.d/www.conf中找到 并在文件末尾写入:

    php_value[short_open_tag] =  On
    

    如果使用xampp,您会注意到php.ini文件两次提到short_open_标记。启用第二个选项以短接\u open\u tag=On。第一个被注释掉了,您可能会试图取消注释并对其进行编辑,但第二个简短的“打开”标记将其覆盖;默认值:On
    ; Default Value: On
    ; Development Value: Off
    ; Production Value: Off
    ; http://php.net/short-open-tag
    ;short_open_tag=Off   <--Comment this out
    ; XAMPP for Linux is currently old fashioned
    short_open_tag = On   <--Uncomment this
    
    ; 开发价值:关闭 ; 产值:关 ; http://php.net/short-open-tag
    ;short_open_tag=Off在Ubuntu上设置要从Vagrant安装脚本打开的短标记:

    sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
    

    我可以看到上面的所有答案都是部分正确的。 实际上,所有21世纪的PHP应用程序都将有FastCGI进程管理器(PHP fpm),因此,一旦您将PHP-info()添加到test.PHP脚本中并检查PHP.ini的正确路径

    Go to php.ini and set short_open_tag = On
    
    重要提示:然后必须重新启动php fpm进程,这样才能正常工作

    sudo service php-fpm restart
    
    然后最后重新启动nginx/http服务器

    sudo service nginx restart
    

    如果您在windows中使用xampp,请执行以下操作

  • 打开XAMPP控制面板
  • 点击配置按钮
  • 转到PHP(PHP.ini)选项
  • 使用ctrl+f实用程序查找短\u打开\u标记

    您将发现
    ;短\u打开\u标签

    请从第行中删除分号(;)

    并将其保持为
    short\u open\u tag=on


    最后,重新启动Apache服务器

    如果您使用的是
    Ubuntu
    Apache+php5
    ,那么在当前版本中,有两个地方需要更改为
    short\u open\u tag=on

  • /etc/php5/apache2/php.ini
    -这适用于通过web服务器(Apache)加载的页面
  • /etc/php5/cli/php.ini
    -此配置用于从命令行启动php文件,如:
    php-yourscript.php
    -用于直接在服务器上手动或cronjob执行的php文件

  • 要使用php fpm为特定域启用short_open_标记,必须编辑:

    /etc/php5/fpm/pool.d/xxxxxxxxx.conf

    其中xxxxx是域的套接字编号

    并添加:php_value[short_open_tag]=On

     short_open_tag = On
    
    php.ini中
    然后重新启动Apache服务器

    sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/7.2/apache2/php.ini
    
    这在Ubuntu16上的php7.2上运行,与上面Bradley Flood给出的答案相同,尽管存储配置文件的目录已更改


    您还可以更改php字符串中的版本以匹配当前安装的版本。

    I'v在我的aws centos 7实例和php7(php7.0.33(cli)(构建时间:2018年12月6日22:30:44)(NTS))上将short_open_标记改为On,但它没有反映php信息页面和代码。因此,我参考了may的文档,并找到了一个解决方案。在短的\u open\u标记后面添加一行,作为asp\u tags=On在重启Apache之后,它对代码起作用,我正确地执行输出

    php.ini文件

    发动机=打开
    ; 此指令确定PHP是否能够识别
    ;  标签作为PHP源代码,应该进行处理。它是
    ; 一般建议应使用此功能
    ; 应禁用,因为启用它可能会导致生成XML时出现问题
    ; 文档,但出于向后兼容的原因,仍然支持此操作。
    
    ; 请注意,此指令不控制docker将此步骤添加到Dockerfile的

      ARG phpIniPath=/path/to/your/php.ini
    
      RUN sed -i -e 's/^short_open_tag\s*=.*/short_open_tag = On/' $phpIniPath  
    

    您可以按照以下步骤操作:

    1->进入
    /etc/php/7.3/apache2
    内的
    php.ini
    文件,或进入
    php版本
    内,然后

    2->查找
    短\打开\标记
    并将其设置为
    上的
    ,然后删除
    从开始

    short_open_tag = On
    
    3->重新启动服务器

    sudo service apache2 restart
    

    如果PHP作为Apache模块运行,您还可以在.htaccess文件中设置它:PHP\u flag short\u open\u标记在
    /etc/PHP中的most lileky上
    
    sudo service apache2 restart