タグ付けされた質問 「php」

PHPは、特にWeb開発に適した汎用スクリプト言語です。オンラインマニュアルは、言語構文に関する優れたリソースであり、組み込み関数と拡張関数の広範なリストがあります。ほとんどの拡張機能はPECLにあります。

3
安全なローカルホスティングのためにLinuxボックスをセットアップするAからZ
私は、私たちのビジネスのためのいくつかのアプリケーションをホストするために使用されるマシンにOSを再インストールする過程にあります。アプリケーションはローカルのみです。外部クライアントからのアクセスはVPN経由のみになります。 以前のセットアップでは、ほとんどの管理者にホスティングコントロールパネル(Plesk)を使用し、再インストールに別の同様のソフトウェアを使用することを検討していましたが、最終的にすべての仕組みを学ぶ必要があると考えました。ソフトウェアが私のために行うことのほとんどを行うことができますが、すべての共生については不明です。これは、可能な限り、Configuration Programmer / Programmerの土地から遠ざけるための試みです。 私が探しているものの完全なウォークスルーをどこにも見つけることができないので、私はこの質問を立てると思った、そして答えでこれを編集し、私の進捗状況を文書化する方法で人々が私を助けることができるかどうか落とし穴。いつかこれが誰かの助けになることを願っています。 詳細: CentOS 5.5 x86_64 httpd:Apache / 2.2.3 MySQL:5.0.77(アップグレード予定) PHP:5.1(アップグレード予定) 要求事項: セキュリティ!! 安全なファイル転送 安全なクライアントアクセス(SSL証明書とCA) 安全なデータストレージ 別のローカルマシン(MySQL)への安全な接続 仮想ホスト/複数のサブドメイン ローカル電子メールはいいですが、重要ではありません 手順: 最新のCentOS DVD-isoをダウンロードしてください(私にとってはトレントが非常に役立ちました)。 CentOSのインストール:インストール 中に、別のPleskのような管理者を使用することになると考えて、サーバーコンポーネントオプションをチェックしました。後から考えると、私は自分の道を歩もうと決めたので、これはおそらく最良のアイデアではなかったでしょう。 基本設定: ユーザー、ネットワーク/ IPアドレスなどを設定します。Yumの更新/アップグレード。 PHP / MySQLのアップグレード: PHPとMySQLを最新バージョンにアップグレードするには、CentOS以外の別のリポジトリを探す必要がありました。IUSは素晴らしく見え、見つけたことがうれしいです! IUSリポジトリをパッケージマネージャーに追加する cd /tmp wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm rpm -Uvh epel-release-1-1.ius.el5.noarch.rpm wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-4.ius.el5.noarch.rpm rpm -Uvh ius-release-1-4.ius.el5.noarch.rpm yum list …
12 apache-2.2  mysql  php  ssh  centos 

2
展開戦略を改善する
当社で開発したeコマースアプリがあります。その合理的な標準のLAMPアプリケーションは、約3年間オンとオフを繰り返してきました。テストドメインでアプリケーションを開発し、ここで新しい機能を追加してバグなどを修正します。バグの追跡と機能の開発はすべて、ホストされているSubversionソリューション(unfuddle.com)内で管理されます。バグが報告されると、テストドメインでこれらの修正を行い、バグが修正されたことに満足したらsvnに変更をコミットします。この同じ手順に従って、新しい機能を追加します。 サーバー全体のシステムとアプリケーションの一般的なアーキテクチャを指摘する価値があります。新しい機能が開発されるたびに、アプリケーション(常に制御するサーバー)を使用して、この更新をすべてのサイトに展開します。当社のシステムを使用する各サイトは、本質的にコードベースの95%でまったく同じファイルを使用しています。各サイト内には、そのサイト専用のファイル(cssファイル/イメージなど)を含むいくつかのフォルダーがあります。それ以外の各サイト間の違いは、各サイトデータベース内のさまざまな構成設定によって定義されます。 これは実際の展開そのものになります。ある種の更新を展開する準備ができたら、テストサイトが存在するサーバーでコマンドを実行します。これは、コピーコマンド(cp -fru / testsite / / othersite /)を実行し、変更された日付に基づいてファイルを更新する各vhost強制を通過します。ホストする各追加サーバーには、運用コードベースを再同期する仮想ホストがあり、そのサーバー上のすべてのサイトでコピー手順を繰り返します。このプロセス中に、上書きしたくないファイルを削除し、コピーが完了したら元に戻します。ロールアウトスクリプトは、SQLコマンドを適用して各データベースを変更したり、フィールドや新しいテーブルを追加するなど、他の多くの機能を実行します。 私たちのプロセスが十分に安定しておらず、フォールトトレラントではなく、少し強引な方法であるという懸念がますます高まっています。また、ブランチやタグを使用していないため、新しい機能に取り組むことで重要なバグ修正を展開できないという立場があるため、Subversionを最大限に活用していないことも認識しています。また、サーバー間でファイルの複製が非常に多いことも間違っているようです。また、ロールアウトしたばかりのロールバックを簡単に実行することもできません。各ロールアウトの前にdiffを実行して、変更されるファイルのリストを取得できるようにします。これにより、何が変更されたかを知ることができますが、ロールバックのプロセスにはまだ問題があります。データベースに関しては、潜在的なソリューションとしてdbdeployを検討し始めました。しかし、本当に必要なのは、ファイルの管理と展開を改善する方法に関する一般的なガイダンスです。理想的には、ファイル管理をリポジトリにより密接にリンクして、ロールアウト/ロールバックがsvnにより密接に接続されるようにします。exportコマンドを使用して、サイトファイルがレポファイルと同じであることを確認するようなもの。ただし、ソリューションがサーバー周辺のファイルレプリケーションも停止する可能性がある場合も良いでしょう。 現在の方法を無視すると、他の人がどのように同じ問題に取り組んでいるかを聞くことは本当に良いことです。 要約すると ... 複数のサーバー間でファイルをsvnと同期したままにする最良の方法は何ですか? ファイルの複製をどのように防ぐ必要がありますか?シンボリックリンク/他に何か? 新しい機能を開発して古い機能を修正できるように、リポジトリをどのように構成する必要がありますか? ロールアウト/ロールバックをトリガーするにはどうすればよいですか? 前もって感謝します 編集: この種のタスクにPhingとCapistranoを使用することについて、最近多くの良いことを読みました。誰でも彼らについての情報と、彼らがこの種の仕事にどれほど良いかについての情報を提供できますか?

4
Linux / Apache / PHPでSQLiteを有効にするにはどうすればよいですか?
有効にするにはSQLiteのが私の上のWindows / Apacheの/ PHPの設定、Iは、以下の行のコメントを解除php.iniのファイルとApacheを再起動します。 extension=php_pdo.dll extension=php_pdo_sqlite.dll これで、Suse Linux 10.3でVPSを使用し、Apache / PHPが自動的に設定されました。見php.iniの上記の変更を行うために、ファイル、私は物事がLinux上で少し異なっていることを参照してください。 コメント解除する拡張機能のリストはありません 「extension_dir = /usr/lib/php5/extensions」を見つけましたが、このディレクトリには次のものしか見つかりません。 pdo.so pdo_mysql.so このLinux環境でSQLiteを有効にするにはどうすればよいですか?
12 linux  php  php.ini  sqlite 

12
Ubuntuでphp.iniを変更しましたが、何も起こりません
こんにちは、Apache with phpはうまく機能しますが、php.iniで行った変更は効果がありません。ファイルのすべての内容を削除し、Apacheを再起動し、phpinfo()を実行すると、驚くほどすべてがうまくいきます。 編集中のファイルは、「Loaded Configuration File」のようなphpinfo()に表示されるファイルです。(/etc/php5/apache2/php.ini) PS Ubuntu 9.04とPHP 5.2を実行しています 詳細: 私はsudo /etc/init.d/apache2 restartで再起動していますが、再起動時にsudo /etc/init.d/apache2を停止してから起動しようとしました。 Webサーバーの再起動apache2 apache2:ServerNameに127.0.1.1を使用して、サーバーの完全修飾ドメイン名を確実に判別できませんでした...待機中apache2:ServerNameに127.0.1.1を使用して、サーバーの完全修飾ドメイン名を確実に判別できませんでした[OK] 「どのphp」は結果を生成しませんでした。 PHPのインストールはSynaptic Package Managerを使用して行われ、[タスクでパッケージをマーク]を選択してから、LAMPサーバーを選択しました。 何をすればいいのかわからない...
12 linux  apache-2.2  ubuntu  php 

5
Linux上のPHP:PHPでプロキシ設定を使用してインターネットに接続する方法
私のサーバーはLANにあり、プロキシサーバーを介してインターネットに接続されています。私のPHPアプリケーション(Drupal)は、PHPコードを介して更新を確認できるはずです。どのように私は設定できるプロキシ設定をするためにPHPが正しく機能するように? 注:curlまたは他の何かでプロキシ設定を設定できることを知っています。しかし、ケースはコードが私のものではなく、変更したくないということです。PHPが常に特定のプロキシ設定を介してインターネットに接続するようにしたいだけです。
12 linux  php  proxy 

5
Linux ubuntuでPHP CLIを構成してwww-dataとして実行するにはどうすればよいですか?
私のubuntuにsymfony2アプリケーションがあります。symfonyには便利なコンソールコマンドがたくさんあります(php app/console cache:clearまたはなどphp app/console assets:install web)。 問題はroot、それらをユーザーとして実行すると、新しく生成されたファイルにroot:rootユーザー/グループが含まれ、Webサイトにアクセスするとエラーが発生することです(Apacheがこれらのファイルを読み取ったり変更したりできないためですwww-data:www-data。 実行chown www-data:www-dataすると問題は解決しますが、キャッシュをクリアするたびに実行することは解決策ではありません。 常にwww-dataユーザー/グループとして実行するようにPHP CLIを構成するにはどうすればよいですか? または コマンドを別のユーザーとして実行するにはどうすればよいですか(rootになり、www-dataとして実行します)?

4
PHP:直接リンクを提供せずにファイルをダウンロード用に提供する
ダウンロード用の請求書を提供したい。現在、単純な番号付けスキーム(invoice-01.pdf、invoice-02.pdfなど)を使用しています。代わりにハッシュを使用してデータを不明瞭にすることができることを知っています。 PHPを使用して、ユーザーに直接ポイントさせないで請求書を提供することもできますか?
12 php 

5
Docker-nginxとphp-fpmを別々にスケーリングする
私はdockerとdocker-composeをいじくり回してきましたが、質問があります。 現在、私のdocker-compose.ymlは次のようになっています。 app: image: myname/php-app volumes: - /var/www environment: <SYMFONY_ENVIRONMENT>: dev web: image: myname/nginx ports: - 80 links: - app volumes_from: - app アプリには、ポート9000のphp-fpmとアプリケーションコードが含まれています。Webはnginxであり、設定は数ビットです。 これは、nginxをphp-fpmに接続するために私がそれを期待する方法を機能します:私はこの行を持っています: fastcgi_pass app:9000; これを効果的にスケーリングするにはどうすればよいですか?たとえば、1つのnginxコンテナを実行し、3つのアプリコンテナを実行したい場合、3つのphp-fpmインスタンスがすべてポート9000でリッスンしようとします。 php-fpmの各インスタンスを異なるポートに配置し、どの時点でもnginx構成のどこにあるのかを知るにはどうすればよいですか? 私は間違ったアプローチを取っていますか? ありがとう!
11 nginx  php  php-fpm  docker 

3
なぜこんなに多くのgettimeofday呼び出しがありますか?
PHP / Apacheコンボが多くのgettimeofdayシステムコールを行うのはなぜですか?たとえすべてのコールが迅速であるとしても、説明する必要があるコールです。 簡単strace -c -p [apache2 process id]に、次のことができます。 Process 22294 detached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 98.52 0.010000 51 196 poll 1.48 0.000150 0 20752 gettimeofday 0.00 0.000000 0 94 7 read 0.00 0.000000 0 48 write 0.00 0.000000 0 96 …
11 apache-2.2  php 

2
Nginx + PHP-FPMは、致命的なエラーの代わりに502の悪いゲートウェイを生成しますか?
現在、NginxとPHP-FPMでSymfony2をテストしています。Xdebugも使用します。 Symfony2にはデモバンドルが付属しています。Acme/ Demoバンドルに構文エラーを作成して、Symfony 2.2.0に付属する致命的なエラーの新しい処理をテストしたかったのです。なぜそうするのか、サーバーの応答は502の悪いゲートウェイです。 しかし、ファイルapp_dev.phpで構文エラーを作成すると(フレームワークが起動する前に)、Xdebugは致命的なエラーについて通知します。 そして驚くべきことに、そのタイプミスを修正し、Acme / Demoバンドルで構文エラーを再作成すると、Symfonyエラーハンドラーが期待どおりに表示されます。そして最後に、すべてのタイプミス(ページが機能する)を修正し、その同じタイプミス(Acme / Bundleでも同様)を再度作成すると、悪いゲートウェイになります。 これについて何か手がかりはありますか?
11 php  nginx  php-fpm  xdebug  symfony 

5
CentOS 5.7 64ビットにPHP 5.3.3のmcryptをインストールする方法は?
私はPHP 5.3といくつかのモジュールを使用してインストールしました yum install php53-{module-name} しかし、mcryptは機能しませんでした。 私はこのように検索しました: yum list php* | grep mcry 登場した唯一のパッケージは php-mcrypt.x86-64 5.1.6-15.e15.centos.1 extras 私はmhashでもまったく同じ問題を抱えています。phpの結果はさらに複雑です。 これはおそらく馬鹿げた質問だと思いますが、助けていただければ幸いです。私はUbuntuのシンプルな「apt-get install」に慣れており、すべてが機能します。CentOSは、より詳細指向のようです。 ありがとう。 編集:ここに私が試したものがあります: yum install php53-mcrypt 結果: No package php53-mcrypt available そしてこれを試してみてください: yum install php-mcrypt 結果: Error: php53-common conflicts with php-common php-mcryptは依存関係としてphp-commonを取得しようとするため(?)、CentOS 5.7ではデフォルトのphp 5.1ではなくphp 5.3を使用しようとしています。

5
Nginx-すべてのリクエストを単一のスクリプトにルーティングします
スクリプトルーティングを処理し、あらゆる種類の派手なことを行うPHPスクリプトがあります。元々はApache用に設計されていましたが、いくつかのボックスのためにnginxに移行しようとしています。今、私はテストサーバーで物事をスムーズにしようとしています。 したがって、スクリプトの動作方法は、.htaccessファイルを使用して(Apache内の)ディレクトリのすべてのHTTPトラフィックをインターセプトすることです。これは次のようなものです。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.+$ index.php [L] </IfModule> とても簡単です。すべてのリクエストはindex.php、単純でシンプルに実行されます。 私はnginxでその動作を模倣したいと思っていますが、まだ方法が見つかりません。誰か提案がありますか? nginx.conf現時点での私のファイルのコピーです。それが私がそれをただ動かそうとするのを試みるために設計されたことに注意してください。主にコピー/貼り付けジョブ。 user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; default_type text/plain; include /etc/nginx/conf.d/*.conf; server { listen 80; server_name swingset.serverboy.net; …
11 php  nginx 

8
リモートSMTPでphp.iniを構成する方法は?
リモートSMTPサーバー経由でmail()を使用してメールを送信するようにPHPを構成するにはどうすればよいですか? php.iniを使用してこれを実行しようとしましたが、Windows32でしか実行できないようで、Unixサーバーでこれを実行したいです。 また、リモートSMTPサーバーを使用するようにsendmailの構成を変更しようとしましたが、それが可能かどうかはわかりません。
11 php  smtp  sendmail  php.ini 

2
php mail()関数をubuntu-serverで動作させる手順は何ですか?
Ubuntuサーバーで単純なphp mail()関数を有効にします。これは、管理スタッフとログの送信にのみ使用されます。これは、このマシンで必要なすべてのメール機能です。 1)これに使用できる標準のubuntuパッケージをセットアップするのに簡単な1つまたは2つの名前を付けることはできますか?リソースと依存関係はほとんど必要ありません。この目的のための最も一般的なパッケージはどれですか、私はそれでやりたいことの長所と短所は何ですか?(このマシンはメールを受信しません。) 2)メーラーパッケージを選択した後、コマンドラインからどのようにテストしますか?リモートポート25への発信接続を許可する必要がありますか? 3)phpがmail()関数に使用できるようにするための手順はありますか? これを今後のサーバーインストールのレシピとして使用したいので、何が間違っているのか、どのように対処するのかを知るのは興味深いでしょう。 編集:最後にsendmailをインストールし、これによりexim4が削除されました。PHP mail()はその後動作しました。したがって、sendmailはexim4よりも簡単に思えます。exim4で以前にインストールされたphp5はメールを送信しませんでした。
11 php  email  ubuntu  sendmail 

1
Cactiはなぜデッドポーラープロセスを待機し続けるのですか?
現在、新しいDebian(6.0.5)サーバーをセットアップしています。私は昨日サボテン(0.8.7g)を入れて以来、それと戦っています。 新規作成 私が観察していた最初の問題は、グラフが更新されないことでした。だから私は私をチェックし、cacti.logこれに関するメッセージを見つけました: POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting. それは良くありませんね?それで私はチェックに行き、poller.php(を介してsudo -u www-data php poller.php --force)自分で始めました。それは多くのメッセージ(すべて私が期待するもののように見えます)を送り出してから、1分間ハングします。その1分後、次のメッセージがループします。 Waiting on 1 of 1 pollers. これは、プロセスが強制的に終了して298秒より長く実行されるまで、さらに4分間続きます。 ここまでは順調ですね 実行中のポーラーがないという結論に至るまで、私は良い時間を過ごして、まだ実行中のポーラーを特定しようとしました。 デバッグ中 私poller.phpはその警告がどのように発行されるのか、そしてその理由を確認しました。368行目で、Cactiはデータベースから終了したプロセスの数を取得し、その値を使用して、まだ実行されているプロセスの数を計算します。だから、その値を見てみましょう! 次のデバッグコードをに追加しましたpoller.php。 $finished_processes = db_fetch_cell("SELECT count(*) FROM cacti.poller_time WHERE poller_id=0 AND end_time>'0000-00-00 00:00:00'"); print "Finished: " . $finished_processes . " - Started: …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.