ファインマニュアルには次のように記載されています。
他の言語とは異なり、バッククォートは二重引用符で囲まれた文字列内では使用できません。
ただし、経験的なテストでは問題は見つかりません。
$ cat test.php
#!/usr/bin/php -q
<?php
echo "O`reilly\n";
echo `ls`;
echo "\n";
?>
$ ./test.php
O`reilly
test.php
$ php --version
PHP 5.3.6-13ubuntu3.7 with Suhosin-Patch (cli) (built: May 4 2012 00:50:06)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
行でバッククォートが機能しているため、明らかにセーフ モードがオフになっておりls
、php.ini でセージ モードが無効になっていることがわかります。セーフ モードの他のサーバーでは、SQL クエリでバックティックを使用しましたが、問題が発生したことはありません。では、二重引用符で囲まれた文字列のバッククォートに関する警告がマニュアルにあるのはなぜですか?