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

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

8
อะไรคือข้อเสียของการใช้การเชื่อมต่อแบบถาวรใน PDO
ใน PDO สามารถทำการเชื่อมต่อถาวรโดยใช้PDO::ATTR_PERSISTENTแอ็ตทริบิวต์ ตามคู่มือ php - การเชื่อมต่อแบบต่อเนื่องจะไม่ปิดในตอนท้ายของสคริปต์ แต่จะถูกแคชและนำมาใช้ใหม่เมื่อสคริปต์อื่นร้องขอการเชื่อมต่อโดยใช้ข้อมูลประจำตัวเดียวกัน แคชการเชื่อมต่อถาวรช่วยให้คุณหลีกเลี่ยงค่าใช้จ่ายในการสร้างการเชื่อมต่อใหม่ทุกครั้งที่สคริปต์ต้องการพูดคุยกับฐานข้อมูลทำให้เว็บแอปพลิเคชั่นทำงานได้เร็วขึ้น คู่มือยังไม่แนะนำให้ใช้การเชื่อมต่อแบบถาวรในขณะที่ใช้ไดรเวอร์ PDO ODBC เพราะอาจขัดขวางกระบวนการเชื่อมต่อ ODBC เห็นได้ชัดว่าดูเหมือนว่าจะไม่มีข้อเสียของการใช้การเชื่อมต่อแบบถาวรใน PDO ยกเว้นในกรณีสุดท้าย อย่างไรก็ตามฉันต้องการทราบว่ามีข้อเสียอื่น ๆ ของการใช้กลไกนี้หรือไม่เช่นสถานการณ์ที่กลไกนี้ส่งผลให้ประสิทธิภาพการทำงานลดลงหรือเป็นเช่นนั้น
181 php  pdo 

19
ข้อผิดพลาดร้ายแรง: ไม่พบคลาส 'ZipArchive'
ฉันมีปัญหาที่ฉันติดตั้ง 'Archive_Zip 0.1.1' บนเซิร์ฟเวอร์ Linux แต่เมื่อฉันพยายามเรียกใช้สคริปต์เพื่อสร้างไฟล์ zip จะทำให้เกิดข้อผิดพลาดร้ายแรง ข้อผิดพลาดร้ายแรง: ZipArchiveไม่พบคลาส... ที่ฉันใส่รหัส $zip = new ZipArchive; var_dump($zip); $res = $zip->open($filename, ZipArchive::OVERWRITE); if ($res !== TRUE) { echo 'Error: Unable to create zip file'; exit; } if (is_file($src)) { $zip->addFile($src); } else { // echo "<br>" . dirname(__FILE__) . $src;//'/install1'; if (!is_dir($src)) …
181 php  zip  ziparchive 

13
ฉันจะใช้ Guzzle เพื่อส่งคำขอ POST ใน JSON ได้อย่างไร
มีใครรู้วิธีที่ถูกต้องในการpostใช้ JSON Guzzleหรือไม่ $request = $this->client->post(self::URL_REGISTER,array( 'content-type' => 'application/json' ),array(json_encode($_POST))); ฉันได้รับการinternal server errorตอบกลับจากเซิร์ฟเวอร์ มันทำงานใช้ PostmanChrome
180 php  postman  guzzle 

5
วิธีการปรับใช้อย่างถูกต้องเมื่อใช้สวิตช์การพัฒนา / การผลิตของนักแต่งเพลง
นักแต่งเพลงมีตัวเลือกในการโหลดการอ้างอิงหลายอย่างเท่านั้นในขณะที่อยู่ในการพัฒนาดังนั้นเครื่องมือจะไม่ถูกติดตั้งในการผลิต (บนเซิร์ฟเวอร์สด) นี่คือ (ในทางทฤษฎี) มีประโยชน์มากสำหรับสคริปต์ที่ใช้ในการพัฒนาเท่านั้นเช่นการทดสอบเครื่องมือข้อมูลปลอมเครื่องมือดีบั๊กและอื่น ๆ วิธีที่จะไปคือการเพิ่มrequire-devบล็อกเพิ่มเติมด้วยเครื่องมือที่คุณต้องการใน dev: "require-dev": { "codeception/codeception": "1.6.0.3" } และจากนั้น (ในทางทฤษฎี) โหลดการพึ่งพาเหล่านี้ผ่าน composer install --dev ปัญหาและคำถาม: นักแต่งเพลงได้เปลี่ยนพฤติกรรมของinstallและupdateอย่างมากในปี 2013 require-devตอนนี้ - ติดตั้งตามค่าเริ่มต้น (!) อย่าลังเลที่จะสร้าง composer.json ด้วยrequire-devบล็อกและดำเนินการcomposer installในการทำซ้ำ ในฐานะที่เป็นวิธีที่ได้รับการยอมรับมากที่สุดในการใช้งานคือการผลักนักแต่งเพลงล็อค (ที่เก็บการตั้งค่าผู้แต่งปัจจุบันของคุณ) จากนั้นทำcomposer installบนเซิร์ฟเวอร์การผลิตสิ่งนี้จะติดตั้งสิ่งที่กำลังพัฒนาด้วย เป็นวิธีที่ถูกต้องในการปรับใช้นี้ โดยไม่ต้องติดตั้งการพึ่งพา -dev คืออะไร หมายเหตุ: ฉันพยายามสร้าง Q / A แบบบัญญัติขึ้นที่นี่เพื่อชี้แจงการปรับใช้นักแต่งเพลงแปลก ๆ รู้สึกอิสระที่จะแก้ไขคำถามนี้

11
คุณเชื่อมต่อกับฐานข้อมูล MySQL หลายตัวบนหน้าเว็บเดียวได้อย่างไร
ฉันมีข้อมูลกระจายออกไปทั่วฐานข้อมูลไม่กี่แห่งและต้องการใส่ข้อมูลทั้งหมดลงในหน้าเว็บเดียวโดยใช้ PHP ฉันสงสัยว่าฉันสามารถเชื่อมต่อกับฐานข้อมูลหลาย ๆ แห่งบนหน้าเว็บ PHP เดียวได้อย่างไร ฉันรู้วิธีเชื่อมต่อกับฐานข้อมูลเดียวโดยใช้: $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); อย่างไรก็ตามฉันสามารถใช้คำสั่ง "mysql_connect" หลายคำสั่งเพื่อเปิดฐานข้อมูลอื่นได้หรือไม่และ PHP จะทราบได้อย่างไรว่าฐานข้อมูลใดที่ฉันต้องการดึงข้อมูลจากถ้าฉันมีฐานข้อมูลหลายตัวเชื่อมต่ออยู่
179 php  mysql 

19
แคช, PHP สร้างภาพขนาดย่อโหลดช้า
ส่วนคำถาม A ▉ (100 รางวัลรับรางวัล) คำถามหลักคือทำอย่างไรให้เว็บไซต์นี้โหลดเร็วขึ้น ก่อนอื่นเราต้องอ่านน้ำตกเหล่านี้ ขอบคุณสำหรับคำแนะนำของคุณเกี่ยวกับการวิเคราะห์การอ่านค่าของน้ำตก เห็นได้จากกราฟน้ำตกต่างๆที่แสดงที่นี่เป็นคอขวดหลัก: รูปขนาดย่อที่สร้างโดย PHP การโหลด jquery ที่ไม่ใช้โปรโตคอลจาก CDN ที่ David แนะนำให้ฉันได้รับรางวัลของฉันแม้ว่าจะทำให้ไซต์ของฉันเร็วขึ้นโดยรวมเพียง 3% และในขณะที่ไม่ตอบคอขวดหลักของเว็บไซต์ เวลาสำหรับการชี้แจงคำถามของฉันและอีกรางวัล: ส่วนคำถาม B ▉ (ได้รับรางวัล 100 รางวัล) ตอนนี้โฟกัสใหม่นี้เพื่อแก้ไขปัญหาที่ภาพ jpg จำนวน 6 ภาพมีซึ่งทำให้การโหลดล่าช้ามากที่สุด เหล่านี้ 6 ภาพขนาดย่อ PHP สร้างเล็ก ๆ และมีเพียง 3 ~ 5 กิโล แต่โหลดค่อนข้างมากอย่างช้าๆ สังเกตว่า " time to first byte …

13
เว็บไซต์หลายภาษาแนวปฏิบัติที่ดีที่สุด
ฉันดิ้นรนกับคำถามนี้มาหลายเดือนแล้ว แต่ฉันไม่ได้อยู่ในสถานการณ์ที่ฉันต้องสำรวจตัวเลือกทั้งหมดก่อนหน้านี้ ตอนนี้ฉันรู้สึกว่าถึงเวลาที่ต้องทำความรู้จักกับความเป็นไปได้และสร้างความชอบส่วนตัวของฉันเองเพื่อใช้ในโครงการที่กำลังจะมาถึง ก่อนอื่นให้ฉันเขียนสถานการณ์ที่ฉันกำลังมองหา ฉันกำลังจะอัพเกรด / พัฒนาระบบการจัดการเนื้อหาซึ่งฉันได้ใช้มาระยะหนึ่งแล้ว อย่างไรก็ตามฉันรู้สึกว่าหลายภาษาเป็นการพัฒนาระบบนี้อย่างยอดเยี่ยม ก่อนที่ฉันจะไม่ใช้เฟรมเวิร์กใด ๆ แต่ฉันจะใช้ Laraval4 สำหรับโครงการที่กำลังจะมาถึง Laravel ดูเหมือนจะเป็นทางเลือกที่ดีที่สุดในการเขียนโค้ด PHP Sidenote: Laraval4 should be no factor in your answer. ฉันกำลังมองหาวิธีการแปลทั่วไปที่เป็นแพลตฟอร์ม / กรอบงานอิสระ สิ่งที่ควรแปล เนื่องจากระบบที่ฉันกำลังมองหาต้องการที่จะเป็นมิตรกับผู้ใช้มากที่สุดวิธีการจัดการการแปลควรอยู่ภายใน CMS ไม่จำเป็นต้องเริ่มการเชื่อมต่อ FTP เพื่อแก้ไขไฟล์การแปลหรือเทมเพลตการแยกวิเคราะห์ html / php ใด ๆ นอกจากนี้ฉันกำลังมองหาวิธีที่ง่ายที่สุดในการแปลหลายตารางฐานข้อมูลบางทีโดยไม่จำเป็นต้องสร้างตารางเพิ่มเติม ฉันเกิดอะไรขึ้นกับตัวเอง ขณะที่ฉันค้นหาอ่านและลองทำสิ่งต่าง ๆ ด้วยตัวเองแล้ว มีตัวเลือกสองสามอย่างที่ฉันมี แต่ฉันก็ยังไม่รู้สึกว่าฉันได้วิธีการฝึกฝนที่ดีที่สุดสำหรับสิ่งที่ฉันต้องการจริงๆ ตอนนี้นี่คือสิ่งที่ฉันคิด แต่วิธีนี้ก็มีผลข้างเคียงด้วย แม่แบบ PHP …

12
ข้อผิดพลาด PHP แปลก: 'ไม่สามารถใช้ฟังก์ชันส่งคืนค่าในบริบทการเขียน'
ฉันได้รับข้อผิดพลาดนี้และฉันไม่สามารถทำหัวหรือก้อยได้ ข้อความแสดงข้อผิดพลาดที่แน่นอนคือ: ข้อผิดพลาดร้ายแรง: ไม่สามารถใช้ฟังก์ชันส่งคืนค่าในบริบทการเขียนใน /home/curricle/public_html/descarga/index.php บรรทัดที่ 48 บรรทัดที่ 48 คือ: if (isset($_POST('sms_code') == TRUE ) { เกิดอะไรขึ้นที่นี่? นี่คือฟังก์ชั่นเต็มรูปแบบ: function validate_sms_code() { $state = NOTHING_SUBMITED; if (isset($_POST('sms_code') == TRUE ) { $sms_code = clean_up($_POST('sms_code')); $return_code = get_sepomo_code($sms_code); switch($return_code) { case 1: //no error $state = CORRECT_CODE; break; case 2: // code …
178 php  fatal-error 

7
CodeIgniter: สร้างผู้ช่วยใหม่ใช่ไหม
ฉันจำเป็นต้องวนซ้ำอาร์เรย์ในวิธีที่แตกต่างกันและแสดงในหน้า อาร์เรย์ถูกสร้างโดยคลาสโมดูล ฉันรู้ว่ามันไม่ดีกว่าที่จะรวมฟังก์ชั่นใน 'มุมมอง' และฉันต้องการทราบว่าจะแทรกไฟล์ฟังก์ชั่นอย่างไร ฉันรู้ว่าฉันสามารถ 'ขยาย' ผู้ช่วยได้ แต่ฉันไม่ต้องการขยายผู้ช่วยเหลือ ฉันต้องการสร้างผู้ช่วยด้วยฟังก์ชั่นการวนซ้ำ .. ขอให้เรียกว่า loops_helper.php

11
วิธีใดที่ดีกว่าในการตรวจสอบว่าอาร์เรย์มีองค์ประกอบมากกว่าหนึ่งรายการหรือไม่
ฉันแค่ต้องตรวจสอบว่าอาร์เรย์มีองค์ประกอบมากกว่าหนึ่งรายการหรือไม่ ฉันพยายามทำเช่นนี้: if (isset($arr['1'])) วิธีแบบดั้งเดิมอื่น ๆ คือ if (sizeof($arr)>1) สองอันไหนดีกว่ากัน? ในสถานการณ์เช่นนี้ฉันจะตัดสินระหว่างสองวิธีอื่นได้อย่างไร มีมิเตอร์ตรวจสอบประสิทธิภาพใดบ้างที่สามารถวัดได้ดีกว่า?
177 php  arrays 

10
วิธีปฏิบัติที่ดีที่สุด: ทำงานกับสตริงที่ยาวและหลายบรรทัดใน PHP หรือไม่
หมายเหตุ: ฉันขอโทษถ้านี่เป็นคำถามที่ง่ายมาก แต่ฉันค่อนข้างย้ำทำมากกว่าการจัดรูปแบบของรหัสของฉัน ฉันมีคลาสที่มีฟังก์ชั่นที่คืนค่าสตริงที่จะสร้างข้อความเนื้อหาของอีเมล ฉันต้องการรูปแบบข้อความนี้เพื่อให้ถูกต้องในอีเมล แต่ยังไม่ทำให้โค้ดของฉันดูขี้ขลาด นี่คือสิ่งที่ฉันหมายถึง: class Something { public function getEmailText($vars) { $text = 'Hello ' . $vars->name . ", The second line starts two lines below. I also don't want any spaces before the new line, so it's butted up against the left side of the screen."; …
177 php  string 


12
ใช้อาร์กิวเมนต์เริ่มต้นในฟังก์ชั่น
ฉันสับสนเกี่ยวกับค่าเริ่มต้นสำหรับฟังก์ชั่น PHP ว่าฉันมีฟังก์ชั่นเช่นนี้: function foo($blah, $x = "some value", $y = "some other value") { // code here! } ถ้าฉันต้องการใช้อาร์กิวเมนต์เริ่มต้นสำหรับ $ x และตั้งค่าอาร์กิวเมนต์อื่นสำหรับ $ y ฉันกำลังทดลองกับวิธีที่แตกต่างกันและฉันก็สับสนมากขึ้น ตัวอย่างเช่นฉันลองสองสิ่งนี้: foo("blah", null, "test"); foo("blah", "", "test"); แต่ทั้งสองอย่างนั้นไม่ส่งผลให้เกิดอาร์กิวเมนต์เริ่มต้นที่เหมาะสมสำหรับ $ x ฉันได้ลองตั้งชื่อตัวแปรแล้ว foo("blah", $x, $y = "test"); ฉันคาดหวังอย่างเต็มที่ว่าสิ่งนี้จะทำงาน แต่มันไม่ทำงานอย่างที่ฉันคาดไว้เลย ดูเหมือนว่าไม่ว่าฉันจะทำอะไรฉันจะต้องพิมพ์ท้ายด้วยการโต้เถียงเริ่มต้นทุกครั้งที่ฉันเรียกใช้ฟังก์ชัน และฉันต้องคิดถึงบางสิ่งที่ชัดเจน
177 php  arguments  default 

9
รับโค้ด HTTP ใน PHP โดยใช้ curl
ฉันใช้ CURL เพื่อรับสถานะของเว็บไซต์หากเป็นขึ้น / ลงหรือเปลี่ยนเส้นทางไปยังเว็บไซต์อื่น ฉันต้องการทำให้มันคล่องตัวที่สุดเท่าที่จะเป็นไปได้ แต่มันก็ใช้งานไม่ได้ <?php $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_TIMEOUT,10); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpcode; ?> ฉันมีสิ่งนี้ห่อในฟังก์ชั่น มันใช้งานได้ดี แต่ประสิทธิภาพไม่ดีที่สุดเพราะมันจะทำการดาวน์โหลดทั้งหน้าสิ่งที่ถ้าฉันลบ$output = curl_exec($ch);มันจะกลับมา0ตลอดเวลา ไม่มีใครรู้วิธีทำให้ประสิทธิภาพดีขึ้นหรือไม่


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