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

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

3
システムの他の部分からのApache仮想ホストの分離
私は、Apache VirtualHostsとしてさまざまなWebサイトをホストするWebサーバーをセットアップしています。これらのそれぞれは、スクリプト(主にPHP、その他の可能性)を実行する可能性があります。 私の質問は、これらのVirtualHostsを相互に、およびシステムの残りの部分からどのように分離するかです。たとえば、WebサイトXがWebサイトYの構成やサーバーの「プライベート」ファイルを読み取らないようにしたい。 現時点では、ここで説明されているように、FastCGI、PHP、およびSUExecを使用してVirtualHostsをセットアップしました(http://x10hosting.com/forums/vps-tutorials/148894-debian-apache-2-2-fastcgi-php-5-suexec -easy-way.html)、ただしSUExecはユーザーが自分のファイル以外のファイルを編集/実行することを禁止するだけです-ユーザーは引き続き設定ファイルなどの機密情報を読み取ることができます。 サーバー上のすべてのファイルのUNIXグローバル読み取りアクセス許可を削除することを検討しました。これにより上記の問題が修正されますが、サーバーの機能を中断せずに安全に削除できるかどうかはわかりません。 私はchrootの使用についても調査しましたが、これはサーバーごとにのみ実行でき、仮想ホストごとでは実行できないようです。 私のVirtualHostsをシステムの残りの部分から分離する提案を探しています。 PS私はUbuntu 12.04サーバーを実行しています 私の答え:私は現在の設定にほぼ従って終了しましたが、すべての仮想ホストに対してchroot jailを実行します。たとえば、chroot jailを入れて/var/wwwから、すべてのユーザーのデータをグループ/その他のr / w / x権限を持つサブフォルダーに入れます。無効。このオプションは、ソースコードを変更せずにすべて実行できるため、特に望ましいものでした。 @Chrisの回答を選択しました。完全に記述され、FTPとSELinuxも考慮されたためです。

5
ホスト名に基づく動的nginxドメインルートパス?
必要に応じて無制限の___.framework.locドメインを作成できるように、開発用のnginx / PHPサーバーを基本的なマスター/キャッチオールvhost構成でセットアップしようとしています。 server { listen 80; index index.html index.htm index.php; # Test 1 server_name ~^(.+)\.frameworks\.loc$; set $file_path $1; root /var/www/frameworks/$file_path/public; include /etc/nginx/php.conf; } ただし、nginxはこのセットアップに対して404エラーで応答します。私がlocalhost使用している構成が正常に機能するため、nginxとPHPが機能し、権限を持っていることを知っています。 server { listen 80 default; server_name localhost; root /var/www/localhost; index index.html index.htm index.php; include /etc/nginx/php.conf; } 問題を見つけるために何をチェックすべきですか?以下は、両方がロードしているphp.confのコピーです。 location / { try_files $uri $uri/ /index.php$is_args$args; } …
11 php  nginx  virtualhost 

4
サーバートークンがオフになっていることを確認するにはどうすればよいですか?
ペンテストレポートから、サーバートークンを無効にする必要があるとのフィードバックがありました。これにより、私たちが使用しているPHPのバージョンを確認できなくなり、特定のPHPバージョンを対象とする能力が制限されます。 以下をnginx.confのhttpブロックの下に追加しました。 server_tokens off; しかし、この変更が影響を与えたことを確認するためにどのツールを使用できますか?
11 nginx  php 

5
Roundcube&Postfix SMTP:SSLルーチン:SSL3_READ_BYTES:tlsv1アラート不明ca:s3_pkt.c
個人的に使用するだけでなく、他のユーザーに提供するPostfix / Dovecot / Roundcubeセットアップがあります。このセットアップ全体を新しいボックスに転送しようとしていますが、いくつかの問題があります。 メールの受信は正常に機能しています(内部でのみテストされており、ドメインはまだ転送されていません)。また、TLS / SSLを使用して外部IMAPとSMTPがうまく機能しています(Thunderbirdなど) 問題は、127.0.0.1へのIMAPを使用でき、ユーザーの電子メールを素晴らしく表示できるラウンドキューブのセットアップにありますが、電子メールを送信することはできません。 "SMTP Error (220): Authentication failed." 奇妙なことに、現在のサーバーで使用したのと同じPostfix / Dovecot構成では、Roundcubeは新しいサーバーでアクセスできなくなりました。関連するラウンドキューブの構成は次のとおりです。 $config['smtp_server'] = 'tls://localhost'; // Log SMTP conversation to <log_dir>/smtp or to syslog $config['smtp_debug'] = true; // SMTP port (default is 25; use 587 for STARTTLS or 465 for the // deprecated SSL over …

1
RHSCL PHPをグローバルに利用可能にする最良の方法
次のURLを使用してRHSCL 2をインストールしました。 https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-Installation.html RedHatサブスクリプションマネージャーを使用する。 次に走っyum remove php*たyum install rh-php56 PHPがどこにも見つからなくなったことを除いて、すべてが順調に進みました。その後、実行して次のディレクトリでfind / -name php見つけrh-php56ました。 /var/opt/rh/rh-php56/lib/php /opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php /opt/rh/rh-php56/root/usr/bin/php /opt/rh/rh-php56/root/usr/lib64/php /opt/rh/rh-php56/root/usr/share/php これらのバイナリを、/usr/binまたはすべてのユーザーが通常グローバルに利用できる他のディレクトリに入れる最良の方法は何ですか? パッケージをインストールするときに一歩逃したのはなぜですか?それはグローバルに利用できない理由です?それとも、RHSCLを使用するとどうなるのですか? 私はそれらのフォルダーでバイナリをテストしましたが、実行するとそれらが機能するphp -vため、正常に機能します。 私が最初に考えただけにあるcpに/binまたは/usr/bin多分私が求めています何をする公式の方法はありますか? 編集する コメントできません、担当者はいません...私が投稿したリンクの第3章から、ソフトウェアコレクションパッケージは次のように実行する必要があると述べています: scl enable rh-php56 'php -v' これは機能します...しかし$ php -v、追加のコマンドなしですべてのユーザーに対して実行するにはどうすればよいですか?ウェブサーバーがそれを使用して、通常のシェルでsshユーザーが使用できるように、phpバイナリがグローバルに利用できる必要があります。

6
php5-fpmが起動しなかった理由を知るにはどうすればよいですか?
サーバーに到達しようとすると504ゲートウェイタイムアウトが発生します。小さなチェックでphp5-fpmログにログが見つかりませんでしたが、念のため、再起動を試みました。それを再起動しようとしているとき: sudo service php5-fpm restart 私は得る[fail] が、私がするとき sudo service php5-fpm stop sudo service php5-fpm start エラーは出ません。 ログがない場合、どうすれば調査できますか?私に何ができる?
10 linux  php  php-fpm 

2
NginxからPHPにカスタムパラメータを渡す方法は?
パスとNginx 1.2.4組み合わせて使用してPHP-FPM 5.4.8おり、fastcgiカスタムパラメータをに渡そうとしていますPHP。これまでに見つけたオプションは次のとおりです。 envディレクティブを使用して環境変数を設定し、nginxで、getenv()または$_ENVからフェッチしPHPます。問題はenv、mainコンテキストでのみパラメーターを設定する必要があるのに対し、コンテキストでのみ動作するserverことです。 fastcgi_paramそのために設計されたディレクティブを使用します。 を使用して一部のパラメーターの値を変更しようとしましfastcgi_paramたが、失敗しました: nginx: fastcgi_param PATH_INFO "/var/tmp"; PHP: 私は見つけることができるすべての事前定義された配列をチェックしました: echo '<pre>'; echo "\n".'$GLOBALS'."\n"; var_dump($GLOBALS); echo "\n".'$_SERVER'."\n"; var_dump($_SERVER); echo "\n".'$_GET'."\n"; var_dump($_GET); echo "\n".'$_POST'."\n"; var_dump($_POST); echo "\n".'$_FILES'."\n"; var_dump($_FILES); echo "\n".'$_REQUEST'."\n"; var_dump($_REQUEST); echo "\n".'$_SESSION'."\n"; var_dump($_SESSION); echo "\n".'$_ENV'."\n"; var_dump($_ENV); echo "\n".'$_COOKIE'."\n"; var_dump($_COOKIE); echo "\n".'$php_errormsg'."\n"; var_dump($php_errormsg); echo "\n".'$HTTP_RAW_POST_DATA'."\n"; var_dump($HTTP_RAW_POST_DATA); echo "\n".'$http_response_header'."\n"; var_dump($http_response_header); …
10 php  nginx  fastcgi  php-fpm 

4
LinuxへのPHP拡張機能のインストール
我慢してください。私はサーバー管理者ではなく開発者です。私の会社はMagentoの使用を検討しています。ApacheとPHPがインストールされた事前構成済みのLinuxサーバーを渡されましたが、Magentoセットアップを実行しようとすると、ロードする必要があるPHP拡張機能があることがわかります。私はphp.iniファイルを編集できますが、拡張機能をどこで入手するか、またはどのようにインストールするかがわかりません。 誰か私に手を貸してくれませんか?PDO_MySQL、mcrypt、GD拡張機能が必要です。ターミナルからのダウンロードとコードのコンパイルについて話しているサイトを検索して見つけましたが、それは私の頭の中にあります。これを行う簡単な方法はありますか?
10 php  linux 

5
phpPgAdminにログインできません
テストマシンでphpPgAdminをセットアップして、常にpsqlCLI を使用する必要なくPostgreSQLとインターフェースできるようにしています。私はPostgreSQL 9.1をRPMリポジトリ経由でインストールしましたが、phpPgAdmin 5.0.4を「手動で」(phpPgAdmin Webサイトからアーカイブを抽出して)インストールしました。ちなみに、私のホストOSはCentOS 6.2です。 私はすでに次の構成変更を行いました: PostgreSQL 内部ではpg_hba.conf、すべてMETHODのsをmd5 に変更しました。 postgresアカウントにパスワードを与えました パスワード付きのwebuserという名前の新しいアカウントを追加しました(このアカウントには他に何もしなかったため、そのアカウントにどのようなアクセス許可が与えられているかを正確に知ることはできません) phpPgAdmin config.inc.php 行$conf['servers'][0]['host'] = '';を$conf['servers'][0]['host'] = '127.0.0.1';(ここでlocalhostを値として使用してみました)に変更しました。 に設定$conf['extra_login_security']しfalseます。 phpPgAdminにログインしようとすると、正常な認証情報(で機能するものpsql)を使用していても、「ログインに失敗しました」というメッセージが表示されます。FAQの質問3に記載されている手順のいくつかを実行しようとしましたが、これまでのところうまくいきません。今日がPostgreSQLで作業する最初の日であることはおそらく役に立たないでしょう。私はMySQLに精通していますが、現在取り組んでいるプロジェクトにはPostgreSQLを使用する必要があります。 CentOS 6.2でphpPgAdminを設定する方法について誰かが助けを提供できますか?これまでのところ、私の構成でひどく間違ったことをした場合、まだ何かデータを格納しているわけではないので、何か/すべてを吹き飛ばすことは大したことではありません! 私はあなたが持っているかもしれない洞察に感謝します!

4
PHPがWin32 APIのUNICODEバージョンでコンパイルされているかどうかを確認するにはどうすればよいですか?
これは、このスタックオーバーフローの投稿に関連しています。 glob()はWindowsでマルチバイト文字を含むファイル名を見つけることができませんか? PHPとWindowsでマルチバイト文字を含むファイルに問題があります。これが私のテストケースです: print_r(scandir('./uploads/')); print_r(glob('./uploads/*')); リモートUNIXサーバーでの正しい出力: Array ( [0] => . [1] => .. [2] => filename-äöü.jpg [3] => filename.jpg [4] => test이test.jpg [5] => имя файла.jpg [6] => פילענאַמע.jpg [7] => 文件名.jpg ) Array ( [0] => ./uploads/filename-äöü.jpg [1] => ./uploads/filename.jpg [2] => ./uploads/test이test.jpg [3] => ./uploads/имя файла.jpg [4] …

2
MediaWikiで編集したページの保存が遅い
次のLAMPプラットフォームにMediaWiki 1.16.2があります。これは、16 GB RAMデュアルプロセッサマシン上の他のアプリに対して非常に優れています。CentOS5.7(64ビット)Apache 2.2.3 MySQL 5.0.77 PHP 5.1.6 使用しているブラウザにある程度依存しているようですが、編集したページを頻繁に保存するのは遅すぎます。非常に単純な変更のために10秒または20秒待つことも珍しくありません。 ページのレンダリングはかなり高速に動作しますが、編集後の節約でユーザーエクスペリエンスが損なわれます。Operaを実行しているクライアントから編集する際に、Firefox(Fedora Linuxプラットフォーム上)よりもいくつかの改善が見られました。 サーバーをより良くするためにどこを調整できるかに関するヒントはありますか? ところで、マシンで実行されるApacheのベンチマークは印象的です。
10 php  mysql  linux  centos  mediawiki 

1
コンソールパラメータを使用してPHPのerror_reporting値を設定する
PHPプロジェクトをエラーでテストするために、通常は次のコマンドを使用します。 find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected" php -l '{}' \;php.iniで定義されたレベルではなく、カスタムerror_reportingレベルを使用するように、一部のパラメーターを使用してパーツを拡張したいと思います。これは可能ですか? (質問は多少コーディングに関連していることはわかっています。反対に、それはシェルコマンドに関するものです。stackoverflowの方が良いと思われる場合は、自由に移動してください。質問がどこに適しているかはわかりませんでした。)

1
CentOS 5.6のApacheは、アクセス許可拒否エラーを表示します
CentOS 5.6でApacheを実行しています。/var/www/html(Apacheのデフォルトのルートディレクトリ)以外のディレクトリにphpスクリプトをロードしようとすると、アクセス権拒否エラーが表示されます。 ただし、新しいルートディレクトリ(/ var / www-dev)のアクセス許可をデフォルトのディレクトリ(/ var / www / html)に対してチェックすると、それらは同じように一致します。両方とも言う:root:root 755 私は所有権をapache:apacheに変更しようとしましたが、それでも同じエラーが発生しました しかし、Apacheの設定を変更すると、デフォルトのルートディレクトリ(/ var / www / html)に戻り、すべてが機能します。 私は何か間違ったことをしていますか? これらは私が変更している設定です: DocumentRoot "/var/www/html" <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 注:私はapacheの構成とアクセス許可を変更するたびにapacheを再起動しています。 同様に、私はREMIとEPELも有効にしています

5
ライブサイトに/.svn/フォルダーを配置しても安全ですか?(それらを削除して、svn update機能を保持する方法は?)
私のphp Webサイトのコードを更新するためにsvn updateを実行してい.svn/ますが、フォルダーがすべて残っています。 これらのファイルを公開したままにしておくのは危険ですが、システムを更新するのは非常に簡単です。 を使用svn updateしてシステムを更新し、.svn/フォルダをエクスポートしない方法はありますか?


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