8

svg 画像を PDF に変換できるように、PHP でinkscape を実行する必要があります。しかし、私が試みるたびに:

// PHP コード system("inkscape -z --file=svg.svg --export-pdf=pdf.pdf"); //その他のコード

新しいファイルを取得せず、これを apache エラー ログに記録します。

(inkscape:28607): libgnomevfs-WARNING **: ~/.gnome2 ディレクトリを作成できません: 許可 > 拒否されました

緊急セーブ発動!緊急セーブ完了。Inkscape を閉じます。このクラッシュを再現できる場合は、www.inkscape.org でバグを報告し、クラッシュに至るまでの手順を詳しく説明してください。修正できるようにします。** メッセージ: エラー: Inkscape で内部エラーが発生したため、すぐに終了します。

セグメンテーション違反

Apacheサーバーを使用してubuntuで実行しています。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

7

これはシステム権限に関連しています。修正する簡単な方法は、そのコードを実行しているユーザーのルート ホーム フォルダーに.gnome2フォルダーを作成し、書き込み権限を与えることです (666 で問題ありません)。

で始まるFTPフォルダー/ファイルでこれを行っている場合は注意してください。(Linux では隠しファイル)、クライアントの設定によってはリストに表示されない場合があります。

例えば:

mkdir -p /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape
chmod 755 /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape
chown -R www-data /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape
于 2010-07-10T14:21:44.667 に答える
1

Inkscape は webserver-user 通常は www-data によって実行されます。Ubuntu が www-data に提供するデフォルトのセットアップでは、www-data のホーム ディレクトリは /var/www にあります。

次の 2 つの可能性があります。

a) www-data のホームディレクトリを /home/www-data に変更

b) /var/www で VirtualHost を無効にする

どちらの場合も、~www-data の権利を変更する必要があります。まず、ディレクトリを www-data:www-data に「chown」し、書き込み権限を付与します。

次回 PHP 経由で (www-data ユーザーとして)inkscape を実行すると、不足しているディレクトリが作成されます。

于 2010-07-16T06:55:55.927 に答える