PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
Достаточно часто у начинающих разработчиков встречаются проблемы с запуском PHP-кода. Симптомы и причины могут быть самые разнообразные. Ниже приведены наиболее часто встречающиеся симптомы и их возможные причины.
Вы открыли страницу/файл в браузере и увидели на странице PHP-код. Возможно, вперемешку с другими элементами страницы.
Либо вместо страницы файл «скачался», а в нём Вы увидели исходный код PHP.
Возможные причины:
- Файл должен имет расширение .php (на всякий случай в нижнем регистре: .php , а не .PHP или .pHP ). На всякий случай проверьте также и язык ввода: буквы с имени должно быть латинскими (бывали случаи).
- Страница должна запрашиваться через Веб-сервер , а не из папки напрямую. Поэтому в адресной строке браузера Вы должны видеть http:// , а не file:// (некоторые браузеры скрывают http:// , но file:// виден все равно).
- Из предыдущего пункта следует: у Вас должен быть установлен и запущен веб-сервер (например, Apache или сборки Denwer, XAMPP и т.п.).
- Веб-сервер должен быть настроен на обработку PHP кода. Если Вы используете сборки вроде Денвера, то этот пункт, вероятно, не актуален (хотя кто ж их знает).
- PHP код должен быть обёрнут в PHP-теги: . Если вдруг Вы используете короткие теги или , то попробуйте заменить их на длинные: и соответственно.
- TODO вспомнить и описать другие организационные моменты
Ничего не выводится — только пустая белая страница.
Источник
PHP не работает в Apache2 после обновления системы
Попробуйте диск на машине Windows.
Если у него такая же проблема в Windows, это не проблема ubuntu и, скорее всего, это ошибка аппаратного обеспечения или прошивки.
In в каком случае я пришлю его обратно.
21 ответ
/var/log/apache2/error.log должен показать строку, как показано ниже, если PHP был успешно загружен:
[Вт 30 авг 12:53:36 2011] [уведомление] Apache / 2.2.14 (Ubuntu) PHP / 5.3.2-1ubuntu4.9 с настройкой Suhosin-Patch — возобновление нормальных операций
Обратите внимание на дату, если это что-то с 2009 года, вы что-то неправильно сконфигурировали.
[ f7] бесполезен, вам нужно использовать:
См. также инструкции по установке php.net для Apache 2.x.
У вас не должно быть необходимости добавлять что вручную, пакет libapache2-mod-php5 устанавливает /etc/apache2/mods-available/php5.conf, содержащий:
. Поскольку это противоречит, возможно, он не установлен с обновлением. Исправить это, а затем установить его еще раз:
Чтобы включить PHP, вам нужно запустить:
Перезапустить веб-сервер после:
проверить конфликтующие настройки в /etc/apache2. вы создали Apache из источника? Запустите sudo apache2ctl configtest, чтобы проверить вашу конфигурацию на наличие синтаксических ошибок. Откройте http: // localhost / server-info, чтобы проверить загруженную конфигурацию и модули. Для этого должен быть загружен модуль status. Если вы используете удаленный сервер, вам нужно добавить себя в список Allow from в /etc/apache2/mods-enabled/status.conf и перезапустить сервер после этого
/var/log/apache2/error.log должен показать строку, как показано ниже, если PHP был успешно загружен:
[Вт 30 авг 12:53:36 2011] [уведомление] Apache / 2.2.14 (Ubuntu) PHP / 5.3.2-1ubuntu4.9 с настройкой Suhosin-Patch — возобновление нормальных операций
Обратите внимание на дату, если это что-то с 2009 года, вы что-то неправильно сконфигурировали.
AddType бесполезен, вам нужно использовать:
См. также инструкции по установке php.net для Apache 2.x.
У вас не должно быть необходимости добавлять что вручную, пакет libapache2-mod-php5 устанавливает /etc/apache2/mods-available/php5.conf, содержащий:
SetHandler application/x-httpd-php SetHandler application/x-httpd-php-source # To re-enable php in user directories comment the following lines # (from to .) Do NOT set it to On as it # prevents .htaccess files from disabling it. php_admin_value engine Off
. Поскольку это противоречит, возможно, он не установлен с обновлением. Исправить это, а затем установить его еще раз:
sudo apt-get purge libapache2-mod-php5 sudo apt-get install libapache2-mod-php5
Источник
apache не видит новый php
пытался обновить php в среде gentoo обновил portage командой # emerge —sync , написал emerge php вроде бы все поставилось, при выводе php -v выдает PHP 5.3.6, при выводе phpinfo в браузере выдает php 5.2.6, в чем проблема не могу понять, еще по своей глупочти написал php -c и теперь апач вообще не видит пхп, ибо 5.2.6 снеслось, кто сталкивался с подобным подскажите что делать
Apache то перезапускали?
Конфиги апача смотрели?
Напишите сюда вывод which php
Вообще php имеет разные бинарники для консоли и апача
перезапускал не помогло(
# which php /usr/local/bin/php
в папке /etc/apache2/modules.d даже не появляется файл 70_mod_php5.conf ((
aptitude install libapache2-mod-php5 🙂
модуль у вас не обновился
эмм. что о не понял
писал USE=«apache2» emerge php, ниче не изменилось ща вообще выдает
# USE=«apache2» emerge php
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
Calculating dependencies. done!
. All ebuilds that could satisfy «>=dev-db/sqlite-3.7.4» have been masked. . One of the following masked packages is required to complete your request: — dev-db/sqlite-3.7.5 (masked by: EAPI 3, invalid: SLOT is undefined) — dev-db/sqlite-3.7.4 (masked by: EAPI 3, invalid: SLOT is undefined)
The current version of portage supports EAPI ‘2’. You must upgrade to a newer version of portage before EAPI masked packages can be installed.
For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. (dependency required by «dev-lang/php-5.3.6» [ebuild]) (dependency required by «php» [argument])
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
т.к. с линуксов впервые работаю понятия не имею что делать(
>masked by: EAPI 3
У тебя sys-apps/portage какой версии? Похоже, что 2.1.6.13
Обнови. Вообще, в Gentoo прежде, чем что-то делать, всегда полезно обновить систему.
обновить полностью систему?!
>обновить полностью систему?!
Для начала, хотя бы portage.
emerge -auv portage
apache невидет новый php
В двух словах на русском допущено две ошибки. И это только заголовок.
# echo ‘PHP_TARGETS=«php5-3»’ >> /etc/make.conf root@vz2623:
# echo ‘dev-lang/php apache2’ >> /etc/portage/package.use root@vz2623:
# emerge -avuND world
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies. done!
. Ebuilds for the following packages are either all . masked or don’t exist: sec-policy/selinux-base-policy
. All ebuilds that could satisfy «dev-vcs/subversion[-dso]» have been masked. . One of the following masked packages is required to complete your request: — dev-vcs/subversion-1.6.16 (masked by: EAPI 3, invalid: SLOT is undefined) — dev-vcs/subversion-1.6.15 (masked by: EAPI 3, invalid: SLOT is undefined)
The current version of portage supports EAPI ‘2’. You must upgrade to a newer version of portage before EAPI masked packages can be installed.
For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. (dependency required by «dev-vcs/git-1.6.4.5» [ebuild]) (dependency required by «sys-devel/gettext-0.18.1.1-r1» [ebuild]) (dependency required by «sys-devel/gcc-4.4.5» [ebuild]) (dependency required by «world» [argument])
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
# eselect php set apache2 php5.3 . Error: Can’t load module php Killed
спасибо за полезный комментарий
# emerge -auv portage
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies. done! [ebuild U ] sys-apps/sed-4.2.1 [4.1.5] USE=«nls (selinux%*) -acl% -static» 879 kB [ebuild U ] app-misc/pax-utils-0.2.2 [0.1.19] USE=»-caps» 80 kB [ebuild N ] dev-libs/libffi-3.0.9 USE=»-debug -static-libs -test» 715 kB [ebuild U ] net-misc/rsync-3.0.8 [2.6.9-r6] USE=«iconv%* -acl* -ipv6* -static -xattr% (-xinetd%)» 773 kB [ebuild N ] sys-libs/libsepol-2.0.32 186 kB [ebuild U ] sys-devel/binutils-2.20.1-r1 [2.18-r1] USE=«nls -multislot -multitarget -test -vanilla» 17,106 kB [ebuild U ] sys-devel/automake-wrapper-4 [3-r1] 0 kB [ebuild U ] sys-devel/autoconf-wrapper-10-r1 [4-r3] 0 kB [ebuild U ] sys-devel/autoconf-2.65-r1 [2.61-r2] USE=»-emacs» 1,302 kB [ebuild N ] virtual/libffi-0 0 kB [ebuild NS ] sys-devel/automake-1.11.1 [1.7.9-r1, 1.9.6-r2, 1.10.1] 1,042 kB [ebuild NS ] sys-devel/libtool-2.2.10 [1.5.24] USE=»-vanilla» 771 kB [ebuild N ] app-arch/xz-utils-5.0.1 USE=«nls threads -static-libs» 1,208 kB [ebuild U ] sys-apps/sandbox-2.4 [1.2.18.1-r2] USE=»(-multilib)» 337 kB [uninstall ] app-arch/lzma-utils-4.32.6 USE=»-nocxx» [blocks b ] app-arch/lzma-utils («app-arch/lzma-utils» is blocking app-arch/xz-utils-5.0.1) [ebuild U ] app-admin/eselect-1.2.11 [1.0.11-r1] USE=«bash-completion -doc (-vim-syntax%*)» 156 kB [ebuild U ] app-admin/eselect-python-20100321 [20090606] 6 kB [ebuild N ] sys-libs/libselinux-2.0.71 USE=«ruby» 164 kB [ebuild U ] sys-apps/coreutils-8.5 [6.10-r1] USE=«nls (selinux*) -acl* -caps% -gmp% -static -unicode% -vanilla -xattr» 10,494 kB [uninstall ] app-admin/eselect-news-20080320 [blocks b ] app-admin/eselect-news («app-admin/eselect-news» is blocking app-admin/eselect-1.2.11) [ebuild NS ] dev-lang/python-2.6.6-r2 [2.4.6, 2.5.4-r3] USE=«ncurses readline sqlite ssl threads (wide-unicode) xml -berkdb -build -doc -examples -gdbm -ipv6 -tk -wininst» 10,838 kB [ebuild U ] app-shells/bash-4.1_p9 [3.2_p17-r1] USE=«net%* nls -afs -bashlogger -examples% -mem-scramble% -plugins -vanilla» 6,458 kB [ebuild U ] sys-apps/portage-2.1.9.42 [2.1.6.7] USE=»(ipc%*) (python2%*) (selinux*) -build -doc -epydoc (-python3)» LINGUAS=»-pl» 0 kB *** Portage will stop merging at this point and reload itself, then resume the merge. [blocks B ] =app-shells/bash-3.2_p17 required by (‘ebuild’, ‘/’, ‘sys-apps/portage-2.1.9.42’, ‘merge’)
For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant):
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
правильно это слово пишется «ненавидит»
А, да, новый портеж только с Питоном от 2.6 и выше работает. Это отдельная история, давай пока обновишь portage до
emerge -av =sys-apps/portage-2.1.8.3
portage обновлял перед «обновлением» php
# emerge -av =sys-apps/portage-2.1.8.3
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies. done! [ebuild N ] dev-libs/libffi-3.0.9 USE=»-debug -static-libs -test» 715 kB [ebuild N ] sys-libs/libsepol-2.0.32 186 kB [ebuild N ] app-arch/xz-utils-5.0.1 USE=«nls threads -static-libs» 1,208 kB [ebuild U ] sys-devel/automake-wrapper-4 [3-r1] 0 kB [ebuild U ] sys-devel/autoconf-wrapper-10-r1 [4-r3] 0 kB [ebuild N ] virtual/libffi-0 0 kB [ebuild U ] sys-apps/sandbox-2.4 [1.2.18.1-r2] USE=»(-multilib)» 337 kB [ebuild U ] sys-devel/autoconf-2.65-r1 [2.61-r2] USE=»-emacs» 1,302 kB [ebuild NS ] sys-devel/automake-1.11.1 [1.7.9-r1, 1.9.6-r2, 1.10.1] 1,042 kB [ebuild U ] sys-devel/binutils-2.20.1-r1 [2.18-r1] USE=«nls -multislot -multitarget -test -vanilla» 17,106 kB [ebuild NS ] sys-devel/libtool-2.2.10 [1.5.24] USE=»-vanilla» 771 kB [ebuild U ] app-admin/eselect-1.2.11 [1.0.11-r1] USE=«bash-completion -doc (-vim-syntax%*)» 156 kB [ebuild U ] app-admin/eselect-python-20100321 [20090606] 6 kB [ebuild NS ] dev-lang/python-2.6.5-r3 [2.4.6, 2.5.4-r3] USE=«ncurses readline sqlite ssl threads (wide-unicode) xml -berkdb -build -doc -examples -gdbm -ipv6 -tk -wininst» 12,284 kB [ebuild N ] sys-libs/libselinux-2.0.71 USE=«ruby» 164 kB [ebuild U ] sys-apps/portage-2.1.8.3 [2.1.6.7] USE=»(selinux*) -build -doc -epydoc (-python3)» LINGUAS=»-pl» 522 kB *** Portage will stop merging at this point and reload itself, then resume the merge. [uninstall ] app-admin/eselect-news-20080320 [blocks b ] app-admin/eselect-news («app-admin/eselect-news» is blocking app-admin/eselect-1.2.11) [blocks B ] app-arch/lzma-utils («app-arch/lzma-utils» is blocking app-arch/xz-utils-5.0.1)
Total: 16 packages (8 upgrades, 5 new, 3 in new slots, 1 uninstall), Size of downloads: 35,793 kB Conflict: 2 blocks (1 unsatisfied)
* Error: The above package list contains packages which cannot be * installed at the same time on the same system.
(‘ebuild’, ‘/’, ‘app-arch/xz-utils-5.0.1’, ‘merge’) pulled in by app-arch/xz-utils required by system app-arch/xz-utils required by world app-arch/xz-utils required by (‘ebuild’, ‘/’, ‘sys-apps/sandbox-2.4’, ‘merge’)
(‘installed’, ‘/’, ‘app-arch/lzma-utils-4.32.6’, ‘nomerge’) pulled in by app-arch/lzma-utils required by (‘ebuild’, ‘/’, ‘sys-devel/libtool-2.2.10’, ‘merge’)
For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant):
. The following installed packages are masked: — dev-lang/perl-5.8.8-r5 (masked by: package.mask) /usr/portage/profiles/package.mask: # Torsten Veller (06 Jan 2011) # Next step to remove old perl and libperl versions. # Versions prior 5.12 are masked and will be removed when 5.14 is available. # If you are a sparc-fbsd user and your only keyworded perl version was masked, # test perl-5.12.2 and reply to bug 288028 # For other complaints go to bug 350785
— sys-devel/libperl-5.8.8-r2 (masked by: package.mask) — sys-libs/ss-1.40.8 (masked by: package.mask) /usr/portage/profiles/package.mask: # Mike Frysinger (07 Mar 2010) # Very old packages that people should have upgraded away from # long ago. Courtesy mask . time to upgrade. # Added ( 08.04.11 15:37:07 )
>вроде как обновил
Так, «вроде как» или «обновил»? 🙂 «* Error» же.
Собственно, конфликт в app-arch/xz-utils и устаревшим app-arch/lzma-utils, который у тебя стоит. Снеси сперва
emerge -C app-arch/lzma-utils
Потом попробуй снова emerge -av =sys-apps/portage-2.1.8.3
# emerge -C app-arch/lzma-utils
app-arch/lzma-utils selected: 4.32.6 protected: none omitted: none
‘Selected’ packages are slated for removal.
‘Protected’ and ‘omitted’ packages will not be removed.
Waiting 5 seconds before starting.
(Control-C to abort).
Unmerging in: 5 4 3 2 1
Unmerging app-arch/lzma-utils-4.32.6.
. SELinux module not found. Please verify that it was installed.
* GNU info directory index is up-to-date.
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
emerge -av =sys-apps/portage-2.1.8.3 — ошибок не увидал вроде прошло все нормально
>ошибок не увидал вроде прошло все нормально
Ну, тогда можешь попробовать поставить PHP. sqlite не должен больше ругаться, если всё ок было.
USE=«apache2» не забудь. Лучше в виде
echo dev-lang/php apache2 >> /etc/portage/package.use
вот. а теперь попробуй emerge -av php сделать
# echo dev-lang/php apache2 >> /etc/portage/package.use root@vz2623:
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies. done!
. All ebuilds that could satisfy «>=dev-db/sqlite-3.7.4» have been masked. . One of the following masked packages is required to complete your request: — dev-db/sqlite-3.7.5 (masked by: EAPI 3, invalid: SLOT is undefined) — dev-db/sqlite-3.7.4 (masked by: EAPI 3, invalid: SLOT is undefined)
The current version of portage supports EAPI ‘2’. You must upgrade to a newer version of portage before EAPI masked packages can be installed.
For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. (dependency required by «dev-lang/php-5.3.6» [ebuild]) (dependency required by «php» [argument])
* IMPORTANT: 5 news items need reading for repository ‘gentoo’. * Use eselect news to read news items.
последний стабильный portage 2.1.9.42 вообще-то
>последний стабильный portage 2.1.9.42 вообще-то
Но он много чего за собой тянет. Посмотри логи выше. Пока пусть с этим разберётся, если всё будет ок — тогда уже и мир можно будет обновить.
Источник