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

PHP เป็นภาษาสคริปต์อเนกประสงค์ที่ใช้กันอย่างแพร่หลายซึ่งเหมาะอย่างยิ่งสำหรับการพัฒนาเว็บ คำถามเกี่ยวกับการเขียนโปรแกรมใน PHP เป็นหัวข้อนอกและควรถามใน Stack Overflow

1
PHP 7.0 round function และ MsSQL módule
ฉันเป็นเซิร์ฟเวอร์ Debian ที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ เมื่อเร็ว ๆ นี้ฉันต้องการติดตั้งโมดูล MsSQL เพื่อใช้ Microsft SQL Server เป็นแหล่งข้อมูล แต่หลังจากติดตั้งฉันสังเกตเห็นว่าฟังก์ชั่น php round ได้เปลี่ยนตัวคั่นทศนิยมจากจุดหนึ่งเป็นเครื่องหมายจุลภาคและแบ่งสคริปต์บางตัว บางทีฟังก์ชั่นอื่น ๆ อาจได้รับผลกระทบด้วยเช่นกัน แต่ฉันเพิ่งสังเกตเห็นว่ามีปัญหาเกี่ยวกับฟังก์ชันแบบกลม หลังจากปิดการใช้งานโมดูลก็จะเริ่มทำงานได้ดีอีกครั้ง เปิดใช้งาน: # php -r 'echo round(85.20, 1);' 85,2 ผู้พิการ: # php -r 'echo round(85.20, 1);' 85.2 ฉันได้ติดตั้งโมดูลล่าสุดโดยใช้ pecl และฉันได้เปิดใช้งานโมดูลโดยใช้ไฟล์ conf: ; -configuration for php mssql module ; priority=20 extension=sqlsrv.so …
1 debian  php  ms-sql 

3
Linux บันทึกไฟล์ด้วย ~
ฉันพยายามเขียนโปรแกรม php ใน linux และฉันใช้ปลาสีน้ำเงินหรือ gedit ทั้งสองโปรแกรมเหล่านี้ไม่ได้บันทึกชื่อที่แท้จริงของไฟล์ "newaccount.php" แต่แทนที่จะบันทึก "newaccount.php ~" ทำไมลินุกซ์ถึงทำเช่นนี้และฉันจะหยุดได้อย่างไร ขอขอบคุณ.
1 linux  php 

0
ติดตั้ง php7.0 pthreads โดยใช้ตัวจัดการแพ็คเกจ
ฉันทำการพัฒนาเว็บไซต์ สำหรับการพัฒนาฉันใช้ mac, ติดตั้ง PHP7.0 / Mysql5.6 โดยใช้ macports ในการผลิตผมใช้อูบุนตู, ติดตั้ง PHP7.0 ใช้ apt-get ผ่านPPA ฉันได้ดูเอกสารประกอบสำหรับการติดตั้ง pthreadsแต่ทรัพยากรทั้งหมดพูดถึงการรวบรวม PHP จากแหล่งที่มา ฉันไม่อยากลงไปตามเส้นทางนั้นเพราะ (1) มัน sux และ (2) การอัพเดตนั้นยุ่งยาก ฉันจะติดตั้ง pthreads ในลักษณะที่จัดการกับตัวจัดการแพคเกจ / โดยอัตโนมัติเหมือนกับส่วนขยายอื่น ๆ ได้อย่างไร

0
ไม่สามารถเปลี่ยนการตั้งค่า php.ini โดยไม่ต้องรีสตาร์ทเครื่อง
ในที่สุดฉันก็พบว่าฉันต้องรีสตาร์ทเครื่องเพื่อรับการเปลี่ยนแปลงการกำหนดค่า php.ini แต่ฉันสงสัยว่าทำไมฉันไม่สามารถเริ่ม httpd ใหม่ได้ ฉันต้องทำอย่างไรฉันไม่ต้องรีสตาร์ทเครื่อง เครื่องของฉัน: Fedora 29 (จริง ๆ แล้วเป็นการกระจายเริ่มต้นโดยไม่มีการเปลี่ยนแปลงพิเศษ) PHP 7.2.13 พร้อม PHP-FPM (ค่าเริ่มต้น) Apache 2.4.37 (ค่าเริ่มต้น) การกำหนดค่าของ php ใน /etc/php.ini และ /etc/php.d ฉันตรวจพบปัญหาเกี่ยวกับการกำหนดค่า xdebug โดยใช้ phpinfo () ในเบราว์เซอร์ แต่แม้ว่าฉันจะเปลี่ยน short_open_tag ใน php.ini และฉันทำsudo systemctl restart httpdค่าไม่เปลี่ยนแปลงในเบราว์เซอร์ อย่างไรก็ตามบนคอนโซล (php -i) ค่าจะถูกยึด แต่ไม่ใช่ด้วย httpd โดยใช้ phpinfo () และเบราว์เซอร์ …

1
วิธีการแปลไฟล์ภาษาที่ใช้อาเรย์อย่างง่ายดาย?
โครงการ PHP หลายแห่งใช้ไฟล์ภาษาแบบอาร์เรย์แทนที่จะใช้ Gettext $lang = array( "lib_captcha_head" => "Confirmation Code", "lib_captcha_insertword" => "Enter the words written below", "lib_captcha_insertnumbers" => "Enter the spoken Numbers", "lib_captcha_send" => "Send confirmation Code", ขณะทำการแปลฉันต้องเลือกซ้ำและพิมพ์ข้อความที่แปลทางด้านขวา งานที่เลือกมักต้องใช้เมาส์ในการเลือกอย่างรวดเร็ว (เช่นใน UltraEdit หรือ Sublime Text 2 ฉันสามารถคลิกสองครั้งที่คำและลากเคอร์เซอร์เพื่อเลือกหลายคำได้อย่างรวดเร็ว) สิ่งนี้ทำให้ไหล่ของฉันแย่มาก :-) ดังนั้นมีเครื่องมือใดบ้างสำหรับฉันที่จะทำให้งานนี้ง่ายขึ้น? ตัวอย่างเช่นฉันสามารถใช้แป้นพิมพ์เพื่อนำทางและเลือกสตริงที่ไม่แปลและการแปลอินพุตหรือไม่

1
เปิดใช้งานส่วนขยาย PHP บนระบบ Windows
ฉันใช้ Apache 2.2 ร่วมกับ Windows 7 ฉันแค่ต้องเปิดใช้งานส่วนขยาย MySQL ให้ทำงาน ไม่เป็นไรเมื่อฉันใช้ Windows binary (.msi) แต่เมื่อฉันลองใช้ไฟล์. ZIP ส่วนขยาย MySQL ไม่ทำงาน ฉันได้ยกเลิกการแสดงความคิดเห็นส่วนขยายใน php.ini แต่ข้อผิดพลาดยังคงมีอยู่ ใครบ้างมีคำแนะนำสำหรับวิธีการแก้ไขที่

1
การใช้ Cron เพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่
ฉันพยายามเรียกใช้กระบวนการพื้นหลัง PHP ที่เป็นผู้บริโภคสำหรับข้อความ Rabbit MQ ฉันสามารถเรียกใช้สคริปต์ในชื่อ "php receive.php &" แต่ฉันต้องการให้แน่ใจว่าสคริปต์นี้ทำงานอยู่ตลอดเวลา ฉันได้รวบรวมสคริปต์ทุบตีที่ดูเหมือนพยายามค้นหา PID ของกระบวนการ หากไม่พบ PID ก็จะเริ่มต้นสคริปต์สำรอง ถ้ามันพบกระบวนการมันก็แค่สะท้อน PID ฉันพยายามรัน Bash Script บน Cron ทุก ๆ ชั่วโมงเพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่ แต่ฉันไม่ได้เปิดใช้งาน ถ้าฉันรัน Shell / Bash Script โดยตรง มันทำงานได้อย่างสมบูรณ์ Bash Script p=$(pidof -s php receive.php) if [[ -z "${p// }" ]] then php /var/www/html/example.com/public_html/receive.php & …
1 linux  bash  shell  php  cron 

2
Debian: ฆ่าเซสชันบนหน้าจอผ่านเว็บ
ฉันมีรหัส PHP ที่เป็นดังนี้ (kill.php): <?php echo exec("/home/duke/aa/scripts/test.sh"); ?> test.sh มีลักษณะเช่นนี้: screen -S server -X quit ถ้าฉันเรียกใช้โค้ด php ในเทอร์มินัลphp screen -S server -X quitสคริปต์จะฆ่าเซสชันหน้าจอ อย่างไรก็ตามถ้าฉันชี้เว็บเบราว์เซอร์ของฉันไปที่http: //mywebsite/test.phpมันจะแสดง "ไม่พบเซสชันหน้าจอ" และจะไม่ฆ่าเซสชันของหน้าจอ ฉันจะทำอย่างไรเพื่อให้เว็บเบราว์เซอร์ทำงานได้

1
กำหนดค่า Win server 2003 เป็น php
เรามี Win server 2003 SP2 ที่เราไม่ได้ใช้ตอนนี้ แต่มันจะดีมากถ้าคุณเปลี่ยนเป็นเซิร์ฟเวอร์ php สิ่งที่เราต้องการคือการใช้ php รุ่นล่าสุด 5.5. * และ mod ทั้งหมด แต่ก่อนที่ฉันจะเก็บสมองของฉันและทำลายมันอย่างสมบูรณ์คิดว่าดีที่สุดที่จะถามคำถามที่นี่เพื่อดูว่าฉันจะได้ลองสิ่งที่ในท้ายที่สุด จะไม่ทำงาน ฯลฯ และจบลงด้วยการโพสต์ความคิดเห็นก่อนที่ฉันจะหาสิ่งนี้ ฯลฯ ดังนั้นหากใครมีคำแนะนำ / คำแนะนำอื่น ๆ ที่จะดี นี่จะเป็นเครือข่ายท้องถิ่นสำหรับเครื่องทดสอบ ใช้ Windows Server 2003 SP2 IIS v6

0
PHP - อักขระ Unicode ไม่แสดงอย่างถูกต้องในคอนโซล
เมื่อใดก็ตามที่ฉันใช้ PHP 7.2 เพื่อพิมพ์สตริงไปยังคอนโซลและมันมีอักขระยูนิโค้ดไปที่คอนโซลมันไม่แสดงอย่างถูกต้อง ตัวอย่างเช่น £ แสดงเป็น ┬ú. มันไม่ใช่คอนโซลอย่างที่ฉันทำได้ echo £ โดยไม่มีปัญหา ไม่ใช่รุ่น PHP การอัปเกรดเป็นเวอร์ชั่นล่าสุดที่มีความเสถียรหรือลดระดับลงจนถึงเวอร์ชั่น 5.6 ไม่สามารถแก้ไขได้ ฉันเคยใช้อีมูเลเตอร์ออนไลน์ที่ใช้รุ่นเดียวกันและพวกเขาไม่มีปัญหานี้ถึงแม้ว่าพวกเขาจะส่งออกไปยังหน้าเว็บ อย่างไรก็ตามมันไม่เกี่ยวข้องเพราะฉันรู้ว่าสิ่งนี้เคยทำงานใน 5.6 และตอนนี้ไม่ได้ ปัญหาเริ่มชัดเจนเมื่อฉันพยายามจับข้อยกเว้นซึ่งมีเครื่องหมาย£อยู่ในสตริง ไม่มีอะไรจะเกิดขึ้น สคริปต์จะหยุดและจะไม่มีข้อผิดพลาดปรากฏขึ้น ฉันใช้เวลากว่าหนึ่งชั่วโมงในการค้นพบว่ามีบางอย่างเกี่ยวกับสัญลักษณ์£ในสตริงที่หยุดการทำงานของ PHP ในแทร็กดังนั้นปัญหาที่เกิดขึ้นกับ PHP คือ - ฉันไม่รู้ ใครบ้างมีความคิดเกี่ยวกับสิ่งที่อาจก่อให้เกิดนี้

1
ฉันจะวางตัวแปร PHP ในคำสั่ง sql SELECT ได้อย่างไร
ฉันกำลังเรียนรู้ PHP ฉันได้ใส่สตริงในฐานข้อมูลโดยใช้คำสั่ง INSERT กับค่าฟอร์ม ฉันแล้วดึงสายนั้นโดยใช้ SELECT FROM WHERE LIKE คำสั่งและสะท้อนมัน คำถามของฉันคืออะไรวิธีที่ถูกต้องในการวางตัวแปรในคำสั่ง SELECT เพื่อทำให้พารามิเตอร์เป็นแบบไดนามิก? อาจจะเป็นดังที่แสดงด้านล่าง: วัตถุประสงค์คือการจับมูลค่าสุดท้ายที่ส่งมาโดยแบบฟอร์มและสถานที่ที่ในแบบสอบถามเลือก $txt = "the"; . . . $read_sql = 'SELECT thought FROM my_thought_table WHERE thought LIKE "%$txt%" ';
php  sql 

0
มีความเสี่ยงที่จะถูกแฮ็กหรือไม่หากฉันติดตั้ง AMP stack
ฉันต้องการแอมป์สแตมป์บน Ubuntu (Apache + Php, Mysql และ Phpmyadmin) แต่ฉันกลัวว่าฉันจะถูกแฮ็กฉันจะใช้มันเพื่อการเรียนรู้ที่เสนอฉันจะไม่เชื่อมต่อกับอินเทอร์เน็ต เพื่อเชื่อมต่อกับอินเทอร์เน็ตเพราะฉันไม่ชอบความคิดที่ว่าผู้ใช้ระยะไกลสามารถเข้าถึงข้อมูลของฉันได้ "สแต็ค" เชื่อมต่อกับอินเทอร์เน็ตโดยอัตโนมัติหรือไม่ฉันควรอนุญาตหรือไม่ อย่างไรก็ตามมีการหยุด Apache และ mysql ไม่ให้เริ่มในการบูตหรือไม่ PD: ฉันแค่ต้องการที่จะสามารถเข้าถึงผ่านคอมพิวเตอร์ของฉันไม่ได้แบ่งปันบนอินเทอร์เน็ต

2
Centos - PhpMyAdmin แสดงหน้าจอว่างเปล่า
ฉันเพิ่งติดตั้ง PhpMyAdmin และเมื่อฉันพยายามเข้าถึงมันก็จะแสดงหน้าจอว่างเปล่า ฉันสงสัยว่าเป็นเพราะฉันทำตามบทช่วยสอนเกี่ยวกับวิธีการรักษาความปลอดภัย php และปิดใช้งานการตั้งค่าหลายอย่างดังนั้นฉันจึงติดตั้ง php ใหม่เพื่อรีเซ็ตไฟล์ php.ini แต่นั่นไม่ได้แก้ปัญหา ... ตอนนี้ฉันคิดว่าอาจเป็นเพราะ suhosin php security mod หรือฉันไม่มี php module ข้อมูล php ของฉันสามารถเข้าถึงได้ที่นี่: http://87.92.41.2/phpinfo.php

0
ปัญหาการอัปโหลดแบบขนาน Pure-FTPD
ฉันกำลังคัดลอกไฟล์ประมาณ 300 10MB จากเซิร์ฟเวอร์อื่นไปยังเซิร์ฟเวอร์ของฉัน ทุกอย่างใช้งานได้ดี แต่ฉันพยายามเรียกใช้เธรดแบบขนานเพื่อให้ฉันสามารถทำให้เสร็จได้อย่างรวดเร็วฉันประหลาดใจเนื่องจากไฟล์อื่นจะอัปโหลดเฉพาะเมื่อการอัปโหลดครั้งแรกจะทำให้เส้นทางการอัปโหลดเป็นอิสระ ฉันเปิด 5 หน้าในเบราว์เซอร์ mozilla ในแท็บใหม่และแท็บทั้งหมด 5 แท็บได้นำชื่อไฟล์ใหม่จากชื่อไฟล์ 300 ไฟล์และฉันคลิกที่ส่งและมันก็แสดงการส่ง แต่ไฟล์จะได้รับการอัปโหลดเฉพาะเมื่อไฟล์หนึ่งไฟล์เสร็จสมบูรณ์ จากนั้นการอัปโหลดไฟล์ที่สองจะเริ่มขึ้น ฉันพยายามเพิ่มการตั้งค่าต่างๆใน whm เช่นขนาดอัปโหลดไฟล์สูงสุดในตัวแก้ไขการกำหนดค่า php เปลี่ยนขนาดเช่นกัน แต่ไม่มีอะไรทำงาน จากนั้นฉันเปลี่ยนการตั้งค่าต่าง ๆ ใน Pure-FTPD ในขณะที่ฉันกำลังอัปโหลดไฟล์โดยใช้การอัปโหลดไฟล์ php ฉันคิดว่า pure ftp จะถูกใช้และเปลี่ยนการกำหนดค่าเป็น จากนั้นก็ไม่ประสบความสำเร็จ Allow Anonymous Uploads no Maximum Connections 150 Maximum Connections Per IP Address 20 คำแนะนำใด ๆ ?? …

0
ปัญหาการกำหนดค่า Nginx Varnish
ฉันพยายามติดตั้งวานิชด้วย ssl จากลิงค์นี้: https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/ ฉันทำทุกอย่างเหมือนโพสต์ แต่ตอนนี้ฉันได้รับข้อผิดพลาด "ไม่สามารถเข้าถึงไซต์นี้ได้ตัวอย่าง example.com ปฏิเสธที่จะเชื่อมต่อ" ฉันเพิ่งหายไปเล็กน้อยสิ่งที่ฉันแน่ใจ แต่ฉันไม่รู้ว่าอยู่ที่ไหน ที่นี่ / etc / nginx / sites-available / default: server { listen 443 ssl; listen [::]:443 ssl; server_name example.com www.example.com; port_in_redirect off; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:20m; ssl_session_timeout …

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