3

IIS 8、Server 2012 を実行しています。プログラマーがシンボリック リンクを作成したい Web アプリケーションがあります。サンプルコードは次のとおりです。

$target = 'symlink.php';
$link = 'symlink-link.php';

symlink($target, $link);
echo readlink($link);

次のエラーが表示されます。

PHP Warning:  symlink(): Cannot create symlink, error code(1314) in E:\...\test.php on line 7

「IIS APPPOOL\apppooluser」NTFS 変更アクセス許可を付与しました。「シンボリック リンクの作成」の同じユーザーにユーザー権限の割り当てを許可しました。

このアプリケーションでリンクを作成できません。助言がありますか?IIS APP POOL を使用することは不可能ですか?

4

2 に答える 2

4

php.netのコメントに書かれている答えを試してください

IIS (インターネット インフォメーション サービス) では、シンボリック リンクの作成を許可する権限を設定する必要があります。

[ローカル セキュリティ ポリシー] -> [ローカル ポリシー] -> [ユーザー権利の割り当て] に移動し、[シンボリック リンクの作成] -> [プロパティ] -> [ユーザーまたはグループの追加] を右クリックして、IIS に関連付けられているユーザーである "IUSR" ユーザーを追加します。再起動が必要な場合があります。

これが機能しない場合は、IIS マネージャー -> 認証 -> 匿名認証 -> 編集 を選択し、現在ログインしているユーザー (管理者である必要があります) を入力します。[OK] をクリックすると、php の symlink() 関数が正常に動作するはずです。

于 2013-03-28T21:39:03.083 に答える