Что должен знать каждый PHP программист? [закрытый]

Предупреждение: [fункция] : не удалось открыть поток: [причина]

Это происходит, когда вы обычно вызываете файл include , require или fopen, и PHP не смог найти файл или не имел достаточного разрешения на загрузку файла.

Это может произойти по разным причинам:

  • неправильный путь к файлу
  • путь к файлу относительный
  • include path is wrong
  • разрешения слишком ограничительные
  • SELinux в силе
  • и многие другие ...

Одна из распространенных ошибок заключается в том, чтобы не использовать абсолютный путь. Это можно легко решить, используя полный путь или магические константы , такие как __DIR__ или dirname(__FILE__):

include __DIR__ . '/inc/globals.inc.php';

или:

require dirname(__FILE__) . '/inc/globals.inc.php';

Обеспечение правильного пути используется одним шагом в устранении этих проблем, это также может быть связано с несуществующими файлами, правами файловой системы, предотвращающими доступ или открытыми ограничениями на основе самого PHP.

Лучший способ для быстрого решения этой проблемы необходимо выполнить контрольный список устранения неполадок ниже.

Вопросы, относящиеся:

Связанные ошибки:

26
задан CharlesB 15 April 2013 в 10:00
поделиться

20 ответов

Прежде всего, существует никакой , должен знать об изучении PHP и MySQL... Вы входите в него не знание чего-либо, и Вы выйдете из него, зная набор. Если бы была необходимость, знают, то никто не был бы в состоянии войти в PHP и разработку MySQL. Я лично думаю, что Вы в небольшом преимуществе, входящем в это, не зная все об этом. Это даст Вам свежую перспективу и думание за пределами отношения поля:)

До объектно-ориентированного материала в этом потоке, это верно. Но, как другие сказали, это полностью до программиста (Вы), чтобы решить, как записать Ваш код. Можно использовать объектно-ориентированные методы, сделать соединение запутанного кода, или просто исправить набор функций, или что бы то ни было. Так или иначе, поскольку все остальные говорили, Вам решать:)

канал IRC:

действительно не нужно это, но я нахожу его полезным... Увидимся в здесь:)

Руководство irc.freenode.net #php

:

руководство является Вашим другом и вероятно единственной вещью, которую Вы должны знать прежде, чем погрузиться в.

http://www.php.net/manual/en/

http://dev.mysql.com/doc/refman/5.0/en/apis-php.html

Платформы:

Удостоверяются, что это - платформа MVC:)

http://www.cakephp.org/

http://www.phpmvc.net/

http://www.codeigniter.com/

http://www.symfony.com/

http://www.laravel.com

http://www.yiiframework.com/

IDE:

Безотносительно исков Вы лучше всего:)

http://www.eclipse.org/

http://www.vim.org/

http://www.zend.com/en/products/studio/

http://php.netbeans.org/

https://www.jetbrains.com/phpstorm /

Движки шаблонов:

PHP является хорошим движком шаблонов

справка платформ контроллера представления Model с этим

twig.sensiolabs.org

http://www.smarty.net/

Ajax:

http://jquery.com/

http://www.mootools.net/

http://developer.yahoo.com/yui/

http://www.prototypejs.org/

http://www.extjs.com/

http://code.google.com/webtoolkit/

https://angularjs.org /

CSS:

http://www.yaml.de/en/home.html

http://code.google.com/p/blueprintcss/

http://developer.yahoo.com/yui/reset/

Определенно не исчерпывающий список и вещи постоянно изменяются... Но, это - запуск:)

Развлекайтесь!

Chrelad

34
ответ дан Mario Andrade 28 November 2019 в 06:00
поделиться

Лично, я нашел книгу" Сборка Ваша собственная база данных управляемый веб-сайт с помощью PHP и MySQL ", чрезвычайно полезного.

Кроме этого, одна вещь я нашел самым твердым привыкнуть к с PHP, насколько расслабленный это, по сравнению с любым другим языком, который я когда-либо использовал. Этим я не имею в виду типов, гибкости о синтаксисе и пунктуации. Лично я думаю, что это - хорошая вещь, но я также знаю, что она, вероятно, поощряет довольно плохое поведение.

Вот еще одна подсказка, которую я имею: попытайтесь использовать что-то как принцип DRY - т.е. Вы будете писать то же мало (или большой), биты кода много раз - превращают их в функции уже в Вас, может в процессе кодирования, и жизнь будет намного легче позже.

0
ответ дан strager 28 November 2019 в 06:00
поделиться

Остерегайтесь фрагментов кода, которые Вы находите в сети. Часто они содержат sql в HTML, который является плохой практикой, а также уязвимостями системы обеспечения безопасности, такими как внедрение SQL. Я видел немногих, что использование подготовило операторы, который хорош для безопасности.

0
ответ дан menko 28 November 2019 в 06:00
поделиться

Язык PHP

Переходит к PHP.net и прочитал всю документацию. Когда Вы будете сделаны, Вы не будете знать все, что необходимо знать о php, но Вы будете знать, где посмотреть.

0
ответ дан Eli 28 November 2019 в 06:00
поделиться
  1. Никакой эксперт по платформе Php. Как шаблонная обработка, которые делают систему большим количеством комплекса тогда как он.
  2. Понимают требование бизнес-логики и думают недостатки / про. Надеясь на SA думать все для Вас не хороший программист.
  3. Никакой ajax. Я имеющий дело с большими из данных, представляя к js данным файла приблизительно 4 000 К очень плох.
  4. Начинают с блокнота или VI
  5. После того, как изучают php приблизительно 1 - 2 года, попытка учит другой язык как c# или C++ для улучшения php приложения.
  6. Php является увлекшимся языком скорее тогда другой язык. Вы вводите его работы. Другой язык, Вы вводите, Это - Компиляция, которая Это, зависают. 7. Для приложения сложности php является лучшим мне скорее тогда другой язык, потому что Вы думаете, Вы пишете, что это работает.
1
ответ дан strager 28 November 2019 в 06:00
поделиться

Необходимо знать, как использовать эффективно по крайней мере один Отладчик/IDE. Удивительно, что можно узнать из кода путем продвижения через него и наблюдения, что он работает. Это и делает намного более простым разыскать ошибки и улучшает качество Вашего кода. Я полагаю, что Вы никогда не должны передавать код проекту, который Вы не видели, выполняются.

0
ответ дан david 28 November 2019 в 06:00
поделиться

Я сказал бы, что основной будет HTML.;)

1
ответ дан TraumaPony 28 November 2019 в 06:00
поделиться

Получение настроек веб-сервера

Для выполнения PHP и MySQL локально на компьютере необходимо будет установить веб-сервер Apache с php модулем и сервер базы данных MySQL. т.е. веб-сервер ЛАМПЫ (MySQL Linux Apache PHP).

В прошлом я рекомендовал бы установить Ubuntu. В эти дни существует несколько решений, доступных, который даст Вам один веб-сервер установки щелчка, не используя Linux.

Для Windows:
http://www.wampserver.com

Для OSX: http://www.mamp.info

После наличия использования веб-сервера ЛАМПЫ w3schools.com учебные руководства для запуска.

2
ответ дан Yada 28 November 2019 в 06:00
поделиться

Используйте большой IDE (как Eclipse, например), которые позволяют Вам отладить и иметь некоторое завершение кода. Это сэкономит Вам некоторое время.

PHP имеют много программиста, и очень популярен =, много вещи уже сделано для Вас, прежде, чем записать, что некоторый код, делая поиск Google всегда является хорошей идеей.

необходимо использовать часть Платформы, если Вы запускаете с нуля. Это ответит на весь Ваш вопрос о Ajax, движки шаблонов..., потому что большинство из них идет с этими пакетами. Вот некоторое сообщение о том, как начать выбирать платформу: ТАК 1 , SO2, Вот список платформы PHP .

можно разработать PHP в Windows, Linux или Mac

2
ответ дан Community 28 November 2019 в 06:00
поделиться

То, что каждое значение везде должно быть закодировано соответственно. echo $some_variable_that_seems_innocent злой девять раз из десять.

Использование htmlspecialchars() в HTML/XML, подготовленных операторах или [по крайней мере 112] при создании SQL-запросов, json_encode() при вставке значений в сценарии, rawurlencode() при добавлении компонентов URL, escapeshellargs() при построении команд оболочки, и т.д.

, Если Вы вставляете текст в URL, это - часть сценария в документе XHTML, необходимо будет закодировать данные три раза.

4
ответ дан Kornel 28 November 2019 в 06:00
поделиться

Все хорошие ответы, но существует что-то важные пропавшие без вести: Если Вы хотите серьезно войти в PHP, то необходимо знать, что существует много PHP программистов там, которые являются ленивыми, неподходящими, неосведомленными, дезинформированы и к сожалению опубликовывать их код. История PHP означает, что это поддерживает некоторые сомнительные функции (не только вещи как register_globals, но также и меньшие вещи как автоматическая инициализация), и люди все еще используют их. Вы не хотите.

6
ответ дан staticsan 28 November 2019 в 06:00
поделиться

Хотя это не технология, я думаю, что очень важно, чтобы Вы поняли, что при использовании PHP это находится полностью на Вас для записи хорошего кода. PHP способен к нему, но это не поощряет его. Вы абсолютно ответственны за запись кода, который хорошо разработан и, если Вы выбираете, следует за принципами OO. У Вас не будет справки с языка.

3
ответ дан Lucas Oman 28 November 2019 в 06:00
поделиться

Необходимо изучить следующее (я предложил бы в этом порядке):

  1. Основной Объектно-ориентированные Принципы (такие как наследование, полиморфизм и инкапсуляция)
  2. сам язык PHP. А именно, PHP 5.
  3. Принципы Проектирования баз данных, такие как таблицы, ключи, отношения, нормализация, и т.д.
  4. SQL - Структурированный (или Стандарт никогда не может помнить который), Язык запросов. Конкретно изучите основы выбора, вставьте, обновите, и запросы на удаление.
  5. Хорошие принципы разработки и методы кодирования (можно найти сообщения здесь на StackOverflow для одного), такие как делящееся представление и бизнес-логика.
  6. Платформа А, Любая Платформа - это поможет Вам стать представленными более усовершенствованному понятию объектно-ориентированных шаблонов разработки и позволить Вам следовать учебным руководствам, которые поощрят хорошие методы дизайна и кодирования.
  7. Объектно-ориентированные Шаблоны разработки как MVC, Модели Абстракции Базы данных и т.п.
  8. Усовершенствованный SQL и другая база данных наполняют как триггеры, хранимые процедуры и другие функции.
8
ответ дан Noah Goodrich 28 November 2019 в 06:00
поделиться

Проигнорируйте функции mysql_*. Мало того, что они не предоставляют простого метода записи безопасного кода, они на самом деле стараются изо всех сил делать его болезненным и утомительным , если Вы пробуете. Используйте mysqli или PDO вместо этого (и у Вас нет оправдания теперь - PHP 4 был несколько end-of-life'd месяцы назад).

7
ответ дан 28 November 2019 в 06:00
поделиться

Безопасность.

Точно так же, как Lucas Oman сказал - Вам решать в PHP для записи кода хорошо; и это не нянчится с Вами. Если Вы не поймете, почему необходимо подтвердить выход из системы, или почему Вы не можете только проверить в JavaScript, или почему register_globals плох - то Ваше приложение будет уязвимо в некоторой форме или другом.

10
ответ дан Tom Ritter 28 November 2019 в 06:00
поделиться

В первую очередь, это сам PHP ЯВЛЯЕТСЯ системой шаблонной обработки

15
ответ дан George Jempty 28 November 2019 в 06:00
поделиться

, Что должен знать каждый PHP программист?

необходимо знать язык, который не является PHP. Я не говорю, что Вы не должны разрабатывать свои сайты в PHP, это на самом деле действительно хорошо для этого, но действительно необходимо знать, по крайней мере, что еще один язык получает некоторую перспективу.

, Почему? PHP повреждается и полон плохого дизайна и ошибок. Можно записать превосходный код в PHP, но Вы никогда не собираетесь быть способными определить плохой дизайн и отказы самого PHP, если Вы не знаете ничего лучшего.

я предложил бы Python, рубин или C#

пз: Если Вы не думаете, что это - полезное предложение, то любой ценой downmod этот ответ, но если Вы - downmodding, потому что Вы чувствуете себя оскорбленными моим заявлением, что PHP поврежден и плохо разработан, не стреляйте в средство рассылки, я просто говорю правду!

18
ответ дан Orion Edwards 28 November 2019 в 06:00
поделиться

PHP был моим первым языком, который я выучил на стороне при работе офисным юниором в моем первом задании более чем 10 лет назад. Вот некоторые вещи на основе моего опыта:

  • Загрузка руководство PHP, распечатайте его прочь и начните читать из страницы один. Продолжайте идти, пока Вы не будете в конце. Скользят по битам, в которых Вы, вероятно, не будете нуждаться (как использование KADM5 или Гиперволны), но всегда читать введения, таким образом, Вы будете знать, какой PHP способен к (это сохранит Вас пытающийся перестроить колесо). Документация PHP уносит документы в значительной степени любого языка, с которым я работал с тех пор из воды.
  • Следующий шаг; настраивает PHP. Вручную. не используют XAMPP, или что-либо еще, делает это самостоятельно . Это всегда помогает знать, как Ваша среда настраивается.
  • не беспокоятся IDE вначале. Узнавание языка означает близко общаться. IDE затеняют вещи в попытке помочь Вам GetThingsDone, который работает отлично, когда Вы знаете то, что Вы делаете и знаете свою целевую среду, но когда Вы начинаете, они просто мешают и скрывают то, что важно.
  • не беспокоятся платформами вначале, также. Снова, они там для помощи Вам GetThingsDone, который только работает, когда Вы знаете то, что Вы делаете во-первых. Запустите с основ, иначе Вы будете учиться платформа и не PHP.
  • PHP является по существу усовершенствованным механизмом шаблонной обработки . Не попадайте в прерывание сверхраздутого "PHP шаблонная обработка механизмов". Они просто делают то, что PHP уже делает, удваиваясь на работе и работая вдвое более медленный, чем PHP делает. Палка со встроенным html/php для запуска с. Снова, это поможет Вам добраться для понимания, каков PHP, как он работает, и когда использовать его.
  • Как с Ajax и CSS... они не имеют отношения к PHP, но к выводу Вы производите из PHP (и с входом вкладывающего Ajax). не загружают Вашу пластину слишком много для еды сразу. Запускаются с простого PHP+HTML и делают Ваш CSS вручную. Затем когда Вы счастливы, соединение в небольшом JavaScript.
  • лучшая вещь можно сделать с любой , язык , изучают среду , Вы собираетесь быть работой в, потому что программирование (относительно) подобно через всех них. У них всех есть циклы, структуры данных, ввод/вывод, и т.д., но они все работают просто что мало по-другому.
  • не верят шумихе. я перемещаюсь от PHP до Python в данный момент, и я, возможно, просто вскочил на побеждающую сторону на выборах Django к GetThingsDone, но я знаю, что, если бы я столкнулся с проблемой, я не знал бы, где начать фиксировать его. Таким образом, я слушаю свой собственный совет и запускаюсь с начала; чтение руководства, установка системы тестирования, парсинг простых файлов, получение ввода/вывода, получение связанного в с веб-сервером... вся часть узнавания моей новой среды.
19
ответ дан Phillip B Oldham 28 November 2019 в 06:00
поделиться

Безопасность является важной темой, которую каждый веб-программист должен изучить прежде чем быть позволенным отправить код, к которому можно получить доступ публично в Интернете.

Примеры проблем безопасности:

существует больше проблем безопасности, которые необходимо знать и иметь в виду, поскольку Вы пишете приложения PHP. Веб-сайт http://www.owasp.org содержит много полезных информация для помощи.

19
ответ дан Bill Karwin 28 November 2019 в 06:00
поделиться

Я сказал бы, что самая важная вещь состоит в том, чтобы изучить, как целый процесс создания страницы с работами PHP - в этом, запросы прибывают от клиента (веб-браузер), поражают веб-сервер, передается до PHP, который тогда генерирует ответ, который передают обратно. Основательное понимание этого оснует Вас в

  • , почему Вы не можете отправить заголовки после того, как вывод запустился
  • , как сессии и работа cookie
  • , как каждая страница должна быть создана способом не сохраняющим состояние (т.е. поставить то, что просит запрос, не помните то, что произошло в прошлый раз, или угадайте то, что пользователь делает)
  • различие между HTML, PHP, JavaScript и CSS, и что еще более важно, для чего каждый используется, прежде всего, и где ответственность каждого находится.

, Как только у Вас есть это вниз, тогда необходимо быть довольно довольны записью любого приложения. Но если у Вас нет этого вниз, Вы начнете смешивать вещи, поскольку я видел, что многие новобранцы делают до настоящего времени.

5
ответ дан JamShady 28 November 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: