Venus is an incredibly important astrological planet, so when the opportunity came along to review Venus Signs, I jumped at the chance and I’m really glad I did. (For the record, I’m listening to Holst’s “Venus: The Bringer of Peace” portion of his suite, “The Planets”, as I write this review.)

Astrology books have to walk a fine line, because while many of us know something about our Sun signs, many of us are unaware of where Venus is in our astrological chart. (If you don’t know, this book will tell you, so no worries there; just take a look at Appendix 2.)

Before Shepherd gets started with the Venus signs, however, she gives a great overview of what your Venus sign describes. As a professional astrologer, I found it to be excellent. Overall, it’s about attraction and connection to other people.

Shepherd briefly mentions if your Venus is retrograde in your natal chart and what that could mean, which is important to at least be cognizant of. She also admits that Venus’ position by house and its aspects—connections—to other planets in the chart can affect how Venus behaves. Even though this is a beginner astrology book, I’m glad she mentioned it anyway.

The meat of this book is about your Venus sign and its attributes. It includes a look at the element your Venus sign is in as well as a mantra for each sign and various “love charms”, or the areas where each particular Venus sign excels.

The title of my chapter, “Venus in Scorpio”, has a great quote by Venus in Scorpio Jodie Foster: “Love people and stay beside them.” Ms. Foster was chosen as the “love goddess” for my chapter, and it’s perfectly appropriate. I thought the information Shepherd provided was very on point and described me well, even the “shadowy” parts. I think my favorite statement was, “If it is off-color or taboo, you delight in it.” Guilty as charged!

Warning: Venus is the planet of love, but Venus in each sign has a dark side. Venus in Scorpio’s may be bigger than most thanks to our two planetary rulers, Mars and Pluto. (And thank you, Ms. Shepherd, for also including Mars as a Scorpio co-ruler!) Be prepared for an ego hit or two as you read through your description. I know I winced once or twice; that part about “being obsessed with a partner or unforgiving” also was very accurate.

I liked at the very end where the author included a quick summary of the “good witch/bad witch” of each individual Venus sign. If you don’t have time to look through the entire book for some quick summary information, check out Appendix 1. This is perfect if you happen to know where someone’s Venus is and you’re walking out the door on a first date, for example.

In short, if you’re looking for a basic primer on the “lesser benefic” of the astrological planets, the great Lady Venus, this is an excellent one to select.

~review by John Marani

Author: Jessica Shepard
Llewellyn, 2015
pp.264, $16.99

32.482MBMemory Usage908msRequest Duration
Joomla! Version4.4.8
PHP Version8.3.23
Identityguest
Response200
Templatert_ambrosia
Database
Server
mysql
Version
10.6.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:51 [ "USER" => "facingnorth" "HOME" => "/home/facingnorth" "SCRIPT_NAME" => "/index.php"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1752599349 "last" => 1752599349...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (458.84KB) (3.49ms)
  • afterInitialise (809.74KB) (54.98ms)
  • afterRoute (544.33KB) (10.4ms)
  • beforeRenderComponent com_content (34.11KB) (1.07ms)
  • Before Access::preloadComponents (all components) (33.47KB) (709μs)
  • After Access::preloadComponents (all components) (107.34KB) (927μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (26μs)
  • After Access::preloadPermissions (com_content) (2.01MB) (6.82ms)
  • Before Access::getAssetRules (id:2605 name:com_content.article.1726) (66.65KB) (218μs)
  • After Access::getAssetRules (id:2605 name:com_content.article.1726) (8.72KB) (116μs)
  • afterRenderComponent com_content (260.98KB) (57.44ms)
  • afterDispatch (2.28KB) (119μs)
  • beforeRenderRawModule mod_finder (Search Module) (1.52MB) (19.89ms)
  • afterRenderRawModule mod_finder (Search Module) (278.92KB) (4.78ms)
  • beforeRenderModule mod_finder (Search Module) (720B) (10μs)
  • afterRenderModule mod_finder (Search Module) (1.28KB) (96μs)
  • afterRender (9.79MB) (745ms)
  • 1 x afterRender (9.79MB) (82.09%)
    745.46ms
    1 x afterRenderComponent com_content (260.98KB) (6.33%)
    57.44ms
    1 x afterInitialise (809.74KB) (6.05%)
    54.98ms
    1 x beforeRenderRawModule mod_finder (Search Module) (1.52MB) (2.19%)
    19.89ms
    1 x afterRoute (544.33KB) (1.14%)
    10.40ms
    1 x After Access::preloadPermissions (com_content) (2.01MB) (0.75%)
    6.82ms
    1 x afterRenderRawModule mod_finder (Search Module) (278.92KB) (0.53%)
    4.78ms
    1 x afterLoad (458.84KB) (0.38%)
    3.49ms
    1 x beforeRenderComponent com_content (34.11KB) (0.12%)
    1.07ms
    1 x After Access::preloadComponents (all components) (107.34KB) (0.1%)
    927μs
    1 x Before Access::preloadComponents (all components) (33.47KB) (0.08%)
    709μs
    1 x Before Access::getAssetRules (id:2605 name:com_content.article.1726) (66.65KB) (0.02%)
    218μs
    1 x afterDispatch (2.28KB) (0.01%)
    119μs
    1 x After Access::getAssetRules (id:2605 name:com_content.article.1726) (8.72KB) (0.01%)
    116μs
    1 x afterRenderModule mod_finder (Search Module) (1.28KB) (0.01%)
    96μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0%)
    26μs
    1 x beforeRenderModule mod_finder (Search Module) (720B) (0%)
    10μs
32 statements were executed, 3 of which were duplicates, 29 unique101ms400.05KB
  • SELECT @@SESSION.sql_mode;95μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `facv2_session` WHERE `session_id` = ?144μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `facv2_session` WHERE `session_id` = :session_id LIMIT 188μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `facv2_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)39.44ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `facv2_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1370μs1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `facv2_viewlevels`100μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `facv2_usergroups` AS `a` LEFT JOIN `facv2_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest206μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `facv2_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`599μs3.48KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `facv2_menu` AS `m` LEFT JOIN `facv2_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`764μs133.17KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `facv2_categories` AS `s` INNER JOIN `facv2_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`390μs3.88KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `facv2_content` WHERE `alias` = :alias AND `catid` = :catid157μs1.34KBParams/components/com_content/src/Service/Router.php:263Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `facv2_template_styles` AS `s` LEFT JOIN `facv2_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1223μs880B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT s.id, s.template, s.home, s.title AS long_title, s.params FROM facv2_template_styles AS s WHERE s.client_id = 0 AND s.template = 'rt_ambrosia' ORDER BY s.id176μs800B/libraries/gantry5/src/classes/Gantry/Joomla/StyleHelper.php:69Copy
  • SELECT * FROM `facv2_languages` WHERE `published` = 1 ORDER BY `ordering` ASC158μs1.59KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `facv2_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)529μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `facv2_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 02.46ms185.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `facv2_content`530μs3.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `facv2_content` SET `hits` = (`hits` + 1) WHERE `id` = '1726'45.85ms48B/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `facv2_content` AS `a` INNER JOIN `facv2_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `facv2_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `facv2_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `facv2_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `facv2_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)428μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `facv2_categories` AS `s` INNER JOIN `facv2_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`505μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `facv2_contentitem_tag_map` AS `m` INNER JOIN `facv2_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)267μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `facv2_categories` AS `s` INNER JOIN `facv2_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`460μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM facv2_fields AS a LEFT JOIN `facv2_languages` AS l ON l.lang_code = a.language LEFT JOIN facv2_users AS uc ON uc.id=a.checked_out LEFT JOIN facv2_viewlevels AS ag ON ag.id = a.access LEFT JOIN facv2_users AS ua ON ua.id = a.created_user_id LEFT JOIN facv2_fields_groups AS g ON g.id = a.group_id LEFT JOIN `facv2_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.55ms4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `facv2_categories` AS `s` INNER JOIN `facv2_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`415μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `a`.`menutype`,`a`.`title` FROM `facv2_menu_types` AS `a` WHERE `a`.`client_id` = 0149μs608B/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:138Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM facv2_menu AS m WHERE m.menutype = 'mainmenu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft658μs1.98KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `facv2_modules` AS `m` LEFT JOIN `facv2_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `facv2_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`516μs1.83KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `name`,`element` FROM `facv2_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1294μs656B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `facv2_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)171μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `facv2_scheduler_tasks` AS `a` WHERE `a`.`state` = 1311μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `facv2_session` WHERE `session_id` = ?230μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `facv2_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?2.44ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy