คำถามติดแท็ก php

PHP เป็นภาษาสคริปต์วัตถุประสงค์ทั่วไปที่เหมาะอย่างยิ่งสำหรับการพัฒนาเว็บ คู่มือออนไลน์เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับไวยากรณ์ภาษาและมีรายการฟังก์ชั่นในตัวและส่วนขยายที่กว้างขวาง ส่วนขยายส่วนใหญ่สามารถพบได้ใน PECL

1
การตั้งค่า php error_reporting ด้วยพารามิเตอร์คอนโซล
เพื่อทดสอบโครงการ PHP ของฉันเกี่ยวกับข้อผิดพลาดปกติฉันจะใช้คำสั่งนี้: find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected" ฉันต้องการที่จะขยายส่วนที่php -l '{}' \;มีพารามิเตอร์บางอย่างดังนั้นมันจะใช้ระดับ error_reporting ที่กำหนดเองและไม่ได้กำหนดไว้ใน php.ini เป็นไปได้ไหม (ฉันรู้ว่าคำถามนั้นเกี่ยวข้องกับการเขียนโค้ดค่อนข้างมากในอีกด้านหนึ่งมันเกี่ยวกับคำสั่งเชลล์มากขึ้นถ้าคุณคิดว่ามันควรจะดีกว่าใน stackoverflow แล้วรู้สึกอิสระที่จะเคลื่อนย้ายได้

3
โครงการ nginx ในโฟลเดอร์ย่อย
ฉันผิดหวังกับการกำหนดค่า nginx ของฉันดังนั้นฉันจึงขอความช่วยเหลือในการเขียนไฟล์กำหนดค่าของฉันเพื่อให้บริการหลายโครงการจากไดเรกทอรีย่อยในรูทเดียวกัน นี่ไม่ใช่โฮสติ้งเสมือนเพราะพวกเขาทั้งหมดใช้ค่าโฮสต์เดียวกัน บางทีตัวอย่างจะอธิบายความพยายามของฉัน: คำขอ192.168.1.1/ควรทำหน้าที่index.phpจาก/var/www/public/ คำขอ192.168.1.1/wiki/ควรทำหน้าที่index.phpจาก/var/www/wiki/public/ คำขอ192.168.1.1/blog/ควรทำหน้าที่index.phpจาก/var/www/blog/public/ โครงการเหล่านี้ใช้ PHP และใช้ fastcgi การกำหนดค่าปัจจุบันของฉันน้อยมาก server { listen 80 default; server_name localhost; access_log /var/log/nginx/localhost.access.log; root /var/www; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } } ฉันได้ลองทำสิ่งต่าง ๆ ด้วยaliasและrewriteไม่สามารถตั้งค่าสิ่งที่ถูกต้องสำหรับ fastcgi ได้ ดูเหมือนจะมีควรจะเป็นวิธีที่มีคารมคมคายกว่าการเขียนบล็อกสถานที่และการทำซ้ำroot, index, SCRIPT_FILENAMEฯลฯ …
11 php  nginx  fastcgi 

5
เส้นทางรูทโดเมน nginx แบบไดนามิกตามชื่อโฮสต์หรือไม่
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์พัฒนา nginx / PHP ของฉันด้วยการกำหนดค่า vhost หลัก / catch-all vhost เพื่อให้ฉันสามารถสร้าง___.framework.locโดเมนไม่ จำกัด ได้ตามต้องการ 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 สำหรับการตั้งค่านี้ ฉันรู้ว่า nginx และ PHP ทำงานได้และได้รับอนุญาตเนื่องจากการกำหนดค่าที่localhostฉันใช้งานได้ดี server { listen 80 default; server_name …
11 php  nginx  virtualhost 

5
Roundcube & Postfix SMTP: รูทีน SSL: SSL3_READ_BYTES: ไม่ทราบการแจ้งเตือน tlsv1 ca: s3_pkt.c
ฉันมีการตั้งค่า Postfix / Dovecot / Roundcube ที่ฉันใช้เป็นการส่วนตัวรวมถึงมอบให้กับผู้ใช้รายอื่น ฉันพยายามถ่ายโอนการตั้งค่าทั้งหมดนี้ไปยังกล่องใหม่ แต่มีปัญหา การรับจดหมายทำงานได้ดี (ผ่านการทดสอบภายในเท่านั้นโดเมนยังไม่ถูกถ่ายโอน) รวมถึง IMAP และ SMTP ภายนอกทำงานได้ดีโดยใช้ TLS / SSL (เช่น Thunderbird เป็นต้น) ปัญหาคือการตั้งค่า roundcube ของฉันซึ่งสามารถใช้ IMAP ถึง 127.0.0.1 และแสดงอีเมลของผู้ใช้อย่างน่าอัศจรรย์ แต่ไม่สามารถส่งอีเมลได้เพียงแค่อ้างสิทธิ์: "SMTP Error (220): Authentication failed." อย่างแปลกประหลาดด้วยการกำหนดค่า Postfix / Dovecot เดียวกับที่ฉันใช้บนเซิร์ฟเวอร์ปัจจุบันของฉัน Roundcube ไม่สามารถเข้าถึงบนเซิร์ฟเวอร์ใหม่ของฉันได้อีกต่อไป นี่คือการกำหนดค่า roundcube ที่เกี่ยวข้อง: $config['smtp_server'] = 'tls://localhost'; // Log …

1
วิธีที่ดีที่สุดในการทำให้ RHSCL PHP ใช้งานได้ทั่วโลก
ฉันติดตั้ง RHSCL 2 โดยใช้ url ต่อไปนี้: 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ไม่มีคำสั่งเพิ่มเติม ฉันต้องการไบนารีของ …

2
nginx, alias, php-fpm = ไม่พบไฟล์
ฉันพยายามตั้งค่า nginx ด้วย DAViCal อย่างไรก็ตามฉันได้รับ "ไม่พบไฟล์" โดยมี "FastCGI ที่ส่งเป็น stderr:" ไม่ทราบสคริปต์หลัก "ในบันทึกดูเหมือนว่ามีบางอย่างผิดปกติกับนามแฝงของฉัน แต่ฉันไม่สามารถเข้าใจได้ โฮสต์เสมือนของฉัน: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www-data; index index.html index.htm index.shtml index.php; # Make site accessible from http://localhost/ server_name …
10 php  nginx  php-fpm  fastcgi  alias 

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
จะส่งพารามิเตอร์ที่กำหนดเองไปยัง PHP จาก Nginx ได้อย่างไร
ฉันใช้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 …
10 php  nginx  fastcgi  php-fpm 

4
การติดตั้งส่วนขยาย PHP บน Linux
กรุณาอดทนกับฉัน ฉันเป็นผู้พัฒนาไม่ใช่ผู้ดูแลเซิร์ฟเวอร์ บริษัท ของฉันต้องการสำรวจโดยใช้ Magento พวกเขาได้มอบเซิร์ฟเวอร์ Linux ที่ตั้งค่าไว้ล่วงหน้าโดยมี Apache และ PHP ติดตั้งไว้ แต่เมื่อฉันพยายามเรียกใช้การตั้งค่า Magento มันจะบอกฉันว่ามีนามสกุล PHP ที่ต้องโหลด ฉันสามารถแก้ไขไฟล์ php.ini ได้ แต่ไม่รู้ว่าจะหาส่วนขยายหรือวิธีการติดตั้งได้ที่ไหนและไม่มีใครที่นี่รู้จักเช่นกัน มีใครให้ฉันได้ไหม ฉันต้องการ PDO_MySQL, mcrypt และ GD extension ฉันค้นหาและพบไซต์ที่พูดถึงการดาวน์โหลดจากเครื่องเทอร์มินัลและการคอมไพล์โค้ด แต่มันจบไปแล้ว มีวิธีง่าย ๆ ในการทำเช่นนี้?
10 php  linux 

5
ไม่สามารถเข้าสู่ phpPgAdmin
ฉันกำลังพยายามตั้งค่า phpPgAdmin บนเครื่องทดสอบของฉันเพื่อให้สามารถเชื่อมต่อกับ PostgreSQL ได้โดยไม่ต้องใช้psqlCLI ฉันติดตั้ง PostgreSQL 9.1 ผ่านที่เก็บ RPM แล้วในขณะที่ฉันติดตั้ง phpPgAdmin 5.0.4 "ด้วยตนเอง" (โดยการแยกไฟล์เก็บถาวรออกจากเว็บไซต์ phpPgAdmin) สำหรับบันทึกระบบปฏิบัติการโฮสต์ของฉันคือ CentOS 6.2 ฉันทำการเปลี่ยนแปลงการกำหนดค่าต่อไปนี้แล้ว: PostgreSQL ข้างในpg_hba.confฉันเปลี่ยนทั้งหมดMETHODเป็น 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) ฉันได้ลองทำตามขั้นตอนบางอย่างที่ระบุไว้ในคำถาม 3 ในคำถามที่พบบ่อยแต่มันยังไม่ได้ผลเท่าที่ควร มันไม่น่าจะช่วยได้ว่านี่เป็นวันแรกที่ฉันทำงานกับ PostgreSQL …

4
ฉันจะตรวจสอบได้อย่างไรว่า PHP ถูกคอมไพล์ด้วย Win32 API เวอร์ชัน UNICODE หรือไม่
สิ่งนี้เกี่ยวข้องกับการโพสต์ Stack Overflow: 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] => …

2
MediaWiki บันทึกหน้าแก้ไขที่ช้าลง
ฉันมี MediaWiki 1.16.2 บนแพลตฟอร์ม LAMP ต่อไปนี้ซึ่งทำงานได้ดีสำหรับแอปอื่น ๆ ในเครื่องที่ใช้โปรเซสเซอร์ 16 GB RAM: CentOS 5.7 (64- บิต) Apache 2.2.3 MySQL 5.0.77 PHP 5.1.6 ดูเหมือนว่าจะขึ้นอยู่กับเบราว์เซอร์ที่ใช้ แต่หน้าบันทึกที่แก้ไขบ่อยมากช้าเกินไป - ไม่ยากที่จะรอ 10 หรือ 20 วินาทีเพื่อให้มันเปลี่ยนแปลงได้ง่ายขึ้น การเรนเดอร์เพจทำงานได้ค่อนข้างเร็ว แต่เป็นการบันทึกหลังจากการแก้ไขซึ่งเป็นการฆ่าประสบการณ์ของผู้ใช้ ฉันตรวจพบการปรับปรุงบางอย่างเมื่อทำการแก้ไขจากไคลเอนต์ที่ใช้งาน Opera มากกว่าบน Firefox (บนแพลตฟอร์ม Fedora Linux) คำแนะนำใด ๆ เกี่ยวกับที่ฉันสามารถปรับเซิร์ฟเวอร์เพื่อให้ดีขึ้นได้อย่างไร มาตรฐานของ Apache ที่รันบนเครื่องนั้นน่าประทับใจ BTW
10 php  mysql  linux  centos  mediawiki 

8
การสร้างเซิร์ฟเวอร์ที่เก็บข้อมูลนักเรียน
ฉันทำงานให้กับเขตการศึกษา ฉันรับผิดชอบในการสร้างเซิร์ฟเวอร์จัดเก็บข้อมูลสำหรับนักเรียน สถานที่สำหรับพวกเขาที่จะทำงานนอกโรงเรียนและที่บ้าน ความท้าทายของฉันคือทำให้การทำงานจากที่บ้าน ที่โรงเรียนพวกเขาเข้าสู่ระบบรับรองความถูกต้องและพวกเขาได้รับไดรฟ์ที่แมปไปยังโฟลเดอร์บนเซิร์ฟเวอร์ ( S:\fileserver\studentname) คำถามของฉันคือฉันจะให้นักเรียนที่บ้านได้อย่างไร เซิร์ฟเวอร์กำลังเรียกใช้ Windows Server 2008 R2 ฉันมี PHP, Apache และ MySQL ทำงานร่วมกัน ความคิดของฉันคือการเขียนสคริปต์ที่จะ "รวบรวมข้อมูล" ผ่านไดเรกทอรีที่มีโฟลเดอร์นักเรียนทั้งหมดแล้วสร้างตัวอย่างของทุกไฟล์และโฟลเดอร์ในฐานข้อมูล MySQL สร้างหน้าเข้าสู่ระบบที่จะใช้ LDAP สำหรับการรับรองความถูกต้องและเมื่อพวกเขาเข้าสู่เซิร์ฟเวอร์จากที่บ้านพวกเขาจะได้รับหน้าที่มีโฟลเดอร์ที่ไฟล์เชื่อมโยงกับชื่อผู้ใช้ของพวกเขา มีใครบ้างไหมที่เคยรวมเรื่องแบบนี้เข้าด้วยกัน?
10 php 

1
Apache ใน CentOS 5.6 ให้ฉันสิทธิ์ปฏิเสธข้อผิดพลาด
ฉันใช้ apache บน centos 5.6 และเมื่อใดก็ตามที่ฉันพยายามโหลดสคริปต์ php ในไดเรกทอรีใด ๆ นอกจาก / var / www / html (dir รูตเริ่มต้นของ Apache) มันทำให้ฉันมีสิทธิ์ปฏิเสธข้อผิดพลาด อย่างไรก็ตามเมื่อฉันตรวจสอบการอนุญาตของ dir รูตใหม่ของฉัน (/ var / www-dev) เทียบกับ dir เริ่มต้น (/ var / www / html) พวกเขาจะจับคู่เหมือนกัน ทั้งสองพูดว่า: root: root 755 ฉันได้ลองเปลี่ยนความเป็นเจ้าของเป็น apache: apache และยังได้รับข้อผิดพลาดเดียวกัน แต่เมื่อฉันเปลี่ยนการตั้งค่า apache กลับเป็นรูทเริ่มต้น (/ var …

5
ปลอดภัยที่จะมีโฟลเดอร์ /.svn/ ในเว็บไซต์สดหรือไม่ (วิธีการลบออก แต่ยังคงความสามารถในการปรับปรุง svn?)
ฉันกำลังปรับปรุง svn เพื่ออัปเดตรหัสสำหรับเว็บไซต์ php ของฉัน แต่จะทำให้.svn/โฟลเดอร์หายไป ฉันคิดว่ามันอันตรายที่จะปล่อยให้ไฟล์เหล่านั้นอ่านได้แบบสาธารณะ แต่มันง่ายมากที่จะอัพเดทระบบ มีวิธีใช้svn updateในการอัปเดตระบบ แต่ไม่ส่งออก.svn/โฟลเดอร์หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.