ウェブサイトのスクリーンショットを撮るときは、サーバー上のツールであるCutyCaptを使用しました。サーバー上のコマンドを直接使用して、指定したURLの写真をキャプチャして生成できます。しかし、phpを使用してシステムコマンドを実行すると、CutyCapt("/usr/local/cutycapt/CutyCapt/xvfb-run.sh --help")などのヘルプ情報付きコマンドは実行できることが判明しました。実行されるはずですが、呼び出しは実行されました システム変数のスクリプトが失敗しました。権限の問題ではないかと思い、後で CutyCapt の権限を www に設定しましたが、情報を検索したところ、コマンドの実行時に nginx サーバーがシェル スクリプトを呼び出すことがわかりました。権限の問題が発生します。
この記事では主にCutyCaptコマンドを実行してWebページのスクリーンショットをphp実装する方法を紹介します。この例では、Webページのスクリーンショット機能を実現するために、execを介してCutyCaptコマンドを実行するphpの関連操作スキルを分析します。 it
exec を使用してコマンドを実行します
デフォルトでは、exec 関数 が無効になっています。そうであれば、disable_function が含まれているかどうかを確認してください
exec('xvfb-run --server-args="-screen 0, 1024x768x24" CutyCapt --url=http://www.jb51.net --out=2.jpg');
。これには問題があります。私の写真には最初の画面しかありません。問題ないので、画像をトリミングします
トリミングにはconvert -cropを使用してください
yum install ImageMagick画像の拡大縮小にはconvert -resizeを使用してください
以上がCutyCapt コマンドを実行して Web ページのスクリーンショットを実装するための PHP サンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。